No Description

MainPresenter.java 7.9KB

    package ai.pai.lensman.main; import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.ServiceConnection; import android.net.ConnectivityManager; import android.os.IBinder; import android.support.annotation.StringRes; import com.android.common.utils.LogHelper; import com.android.common.utils.NetworkUtil; import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import ai.pai.lensman.App; import ai.pai.lensman.R; import ai.pai.lensman.bean.PhotoBean; import ai.pai.lensman.bean.SessionBean; import ai.pai.lensman.db.DBService; import ai.pai.lensman.db.Preferences; import ai.pai.lensman.service.OrderDealService; import ai.pai.lensman.service.UploadService; class MainPresenter implements MainContract.Presenter,SyncTimeInteractor.SyncTimeListener, UploadService.PhotoUploadListener, OrderDealService.OrderServiceListener { private int sessionSeq; private String lensmanId; private ArrayList<SessionBean> sessionList; private MainContract.View view; private SyncTimeInteractor syncTimeInteractor; private ServiceConnection uploadServiceConnection; private ServiceConnection orderServiceConnection; private boolean isTimeSync = false; private boolean isBoxConnected = true; private BroadcastReceiver wifiReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (ConnectivityManager.CONNECTIVITY_ACTION.equals(intent.getAction())) { if(NetworkUtil.isWifiConnected(context)){ view.showBoxConnectedView(); App.getAppContext().startService(new Intent(App.getAppContext(), UploadService.class)); }else{ isBoxConnected = false; view.showBoxDisconnectedView(); } } } }; MainPresenter(MainContract.View view){ this.view = view; this.lensmanId = Preferences.getInstance().getLensManId(); syncTimeInteractor = new SyncTimeInteractor(lensmanId,this); uploadServiceConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName componentName, IBinder iBinder) { ((UploadService.MyBinder) iBinder).getService().setPhotoUploadListener(MainPresenter.this); } @Override public void onServiceDisconnected(ComponentName componentName) { } }; orderServiceConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName componentName, IBinder iBinder) { ((OrderDealService.OrderServiceBinder) iBinder).getService().setOrderServiceListener(MainPresenter.this); } @Override public void onServiceDisconnected(ComponentName componentName) { } }; } @Override public void start() { if(NetworkUtil.isWifiConnected(App.getAppContext())){ view.showBoxConnectedView(); }else{ view.showBoxDisconnectedView(); } view.setNewSessionBtnEnabled(false); if(!isTimeSync){ syncTimeInteractor.startJob(); } registerWifiChangeReceiver(); App.getAppContext().startService(new Intent(App.getAppContext(), OrderDealService.class)); App.getAppContext().bindService(new Intent(App.getAppContext(),OrderDealService.class), orderServiceConnection, Context.BIND_AUTO_CREATE); App.getAppContext().startService(new Intent(App.getAppContext(), UploadService.class)); App.getAppContext().bindService(new Intent(App.getAppContext(),UploadService.class), uploadServiceConnection, Context.BIND_AUTO_CREATE); sessionList = DBService.getInstance().getSessionBeanListByDay(getSessionDateInLongFormat()); onDataReady(); } private void onDataReady(){ view.setNewSessionBtnEnabled(true); if(sessionList.size()==0){ view.showEmptyView(); }else{ view.showSessionViews(); view.refreshSessionViews(sessionList); } sessionSeq = sessionList.size(); } @Override public void stop() { try{ App.getAppContext().unbindService(uploadServiceConnection); App.getAppContext().unbindService(orderServiceConnection); App.getAppContext().unregisterReceiver(wifiReceiver); }catch (Exception e){ e.printStackTrace(); } } @Override public SessionBean createNewSession() { SessionBean sessionBean = new SessionBean(); sessionBean.lensmanId = lensmanId; sessionBean.sessionDate=getSessionDateInLongFormat(); sessionBean.sessionSeq = sessionSeq+1; sessionBean.createTime = System.currentTimeMillis()/1000; sessionBean.sessionId = lensmanId+new Md5FileNameGenerator().generate(String.valueOf(sessionBean.createTime)); LogHelper.d("czy","createNewSession = "+sessionBean.sessionId); sessionList.add(sessionBean); return sessionBean; } private long getSessionDateInLongFormat(){ SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); String dateStr = format.format(new Date()); return Long.parseLong(dateStr); } @Override public void onPhotoUploadStart(PhotoBean bean) { } @Override public synchronized void onPhotoUploaded(PhotoBean bean) { int position = sessionList.size()-bean.sessionSeq; if(position < 0 || position>=sessionList.size()){ return; } SessionBean sessionBean = sessionList.get(position); ArrayList<PhotoBean> photoList = sessionBean.sessionPhotos; if(photoList==null || photoList.size()==0){ photoList = new ArrayList<>(); photoList.add(bean); }else{ for(PhotoBean photoBean : photoList){ if(photoBean.photoId == bean.photoId){ photoBean.uploadStatus = PhotoBean.UploadStatus.STATUS_SUCCESS; break; } } } sessionBean.sessionPhotos = photoList; view.updateSessionUploadViewAt(position); } @Override public synchronized void onPhotoUploadError(PhotoBean bean) { int position = sessionList.size()-bean.sessionSeq; if(position < 0 || position>=sessionList.size()){ return; } SessionBean sessionBean = sessionList.get(position); ArrayList<PhotoBean> photoList = sessionBean.sessionPhotos; if(photoList==null || photoList.size()==0){ photoList = new ArrayList<>(); photoList.add(bean); }else{ for(PhotoBean photoBean : photoList){ if(photoBean.photoId == bean.photoId){ photoBean.uploadStatus = PhotoBean.UploadStatus.STATUS_ERROR; break; } } } sessionBean.sessionPhotos = photoList; view.updateSessionUploadViewAt(position); } private void registerWifiChangeReceiver() { IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION); App.getAppContext().registerReceiver(wifiReceiver,filter); } @Override public void onOrderArrived() { if(!isBoxConnected){ view.showSnackBar(R.string.new_order_and_check_box); } } @Override public void onOrderCompleted() { } @Override public void onTimeSync(boolean result, @StringRes int strId) { isTimeSync = result; if(!isTimeSync){ view.showSnackBar(R.string.check_box_time); } } }
kodo - Gogs: Go Git Service

Keine Beschreibung

Brightcells: 9fd8002931 Update requirements.txt vor 10 Jahren
..
static 48c5514e05 update jswe.js vor 10 Jahren
uwsgi.bak df1df69fe3 add api upgrade/splash vor 10 Jahren
__init__.py 4defb80fdc gogs first init vor 11 Jahren
basemodels.py dd00e3b1a9 add api online_api vor 10 Jahren
func_settings.py b68c637678 update redis-extensions vor 10 Jahren
settings.py 9fd8002931 Update requirements.txt vor 10 Jahren
urls.py c761b9cf4c add page price vor 10 Jahren
urls_api.py fabef63211 set line_length=200 for isort vor 10 Jahren
views.py fabef63211 set line_length=200 for isort vor 10 Jahren
wsgi.py fabef63211 set line_length=200 for isort vor 10 Jahren