Skip to content

Instantly share code, notes, and snippets.

@sharmadhiraj
Created May 17, 2019 06:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sharmadhiraj/e5057960dbc7715ec41e26a203b3590d to your computer and use it in GitHub Desktop.
Save sharmadhiraj/e5057960dbc7715ec41e26a203b3590d to your computer and use it in GitHub Desktop.
App Under Maintenance
public abstract class BaseActivity extends AppCompatActivity {
private AlertDialog dialog;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
connectToFirebase();
}
private void connectToFirebase() {
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference reference = database.getReference();
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
UnderMaintenance underMaintenance = dataSnapshot.getValue(UnderMaintenance.class);
if (underMaintenance == null) return;
if (underMaintenance.is_under_maintenance) {
showUnderMaintenanceDialog(underMaintenance.under_maintenance_message);
} else {
dismissUnderMaintenanceDialog();
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
private void showUnderMaintenanceDialog(String underMaintenanceMessage) {
if (dialog == null) {
dialog = new AlertDialog.Builder(this).create();
dialog.setCancelable(false);
dialog.setButton(BUTTON_POSITIVE,
"OK",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
BaseActivity.super.finish();
}
});
}
dialog.setMessage(underMaintenanceMessage);
if (!this.isFinishing()) dialog.show();
}
private void dismissUnderMaintenanceDialog() {
if (dialog != null && dialog.isShowing()) dialog.dismiss();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment