codeestX / GeekNews

:books:A pure reading App based on Material Design + MVP + RxJava2 + Retrofit + Dagger2 + Realm + Glide
3.5k stars 826 forks source link

How To Call DataManager in Thread Class? #114

Closed Widiyanto closed 6 years ago

Widiyanto commented 7 years ago

public class CountUnreadThread extends Thread { private boolean running; private Context context; private DataManager mDataManager;

public CountUnreadThread(Context context) {
    this.context = context;
}

public void setRunning(boolean running){
    this.running = running;
}

@Override
public void run() {
    super.run();
    running = true;
    while (running){
        try {
            Thread.sleep(1000);
            int messageUnReadCount = new MessageDatabaseService(context).getUnreadMessageCountForContact(String.valueOf(mDataManager.getIdCfp()));

            Intent intent = new Intent();
            intent.setAction(CountUnreadService.ACTION_UPDATE_CNT);
            intent.putExtra(CountUnreadService.KEY_INT_FROM_SERVICE, messageUnReadCount);
            context.sendBroadcast(intent);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

}

Widiyanto commented 7 years ago

same like at PresenterClass? @Inject PresenterClass(DataManager dt){ this.dt =dt; }