Skip to content

Instantly share code, notes, and snippets.

public interface MainActivityView extends MvpView {
ListView getListView();
ProgressBar getProgressBar();
}
public class MainActivity extends AppCompatActivity implements MainActivityView {
@BindView(R.id.lv_am_movie_list) ListView listView;
@BindView(R.id.pb_am_loading) ProgressBar progressBar;
public static MainPresenter mainPresenter;
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
public class StarWarsService extends IntentService {
@Inject AppDatabase db;
public StarWarsService() {
super("StarWarsService");
}
@Override public void onCreate() {
super.onCreate();
@Dao
public interface StarWarsMovieDao {
@Query("select * from StarWarsMovie") LiveData<List<StarWarsMovie>> loadMovies();
@Query("DELETE FROM StarWarsMovie") void deleteAll();
@Insert(onConflict = REPLACE) void insertMovie(StarWarsMovie starWarsMovie);
}
@Database(entities = { StarWarsMovie.class }, version = 1) public abstract class AppDatabase
extends RoomDatabase {
public abstract StarWarsMovieDao starWarsMovieModel();
}
@Module public class AppModule {
private Application application;
public AppModule(Application application) {
this.application = application;
}
@Provides @Singleton Context providesAppContext() {
return application.getApplicationContext();
public class MainViewModel extends AndroidViewModel {
private LiveData<List<StarWarsMovie>> moviesLiveData;
@Inject AppDatabase mDb;
public MainViewModel(Application application) {
super(application);
((StarWarsApplication) getApplication()).getAppComponent().inject(this);
requestDataUpdates();
public class MainActivity extends LifecycleActivity implements Observer<List<StarWarsMovie>> {
@BindView(R.id.lv_am_movie_list) ListView listView;
@BindView(R.id.pb_am_loading) ProgressBar progressBar;
private MainViewModel mainViewModel;
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mainViewModel = ViewModelProviders.of(this).get(MainViewModel.class);
@parahall
parahall / SyncOrderService.java
Created February 25, 2017 20:54
SyncOrderService.java
public class SyncOrderService extends GcmTaskService {
//...
public static void scheduleOrderSending(Context context, int id) {
GcmNetworkManager manager = GcmNetworkManager.getInstance(context);
Bundle bundle = new Bundle();
bundle.putInt(SyncOrderService.ORDER_ID, id);
OneoffTask task = new OneoffTask.Builder().setService(SyncOrderService.class)
.setTag(SyncOrderService.getTaskTag(id))
.setExecutionWindow(0L, 30L)
.setExtras(bundle)
@parahall
parahall / SendOrderService.java
Created February 25, 2017 20:54
SendOrderService.java
public class SendOrderService extends IntentService {
@Override protected void onHandleIntent(Intent intent) {
int orderId = intent.getIntExtra(ORDER_ID, 0);
if (orderId == 0 || orderId == -1) {
return;
}
Cursor c = null;
try {