import android.widget.ProgressBar;
import android.widget.TextView;
+import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.widget.Toolbar;
import androidx.core.view.GravityCompat;
drawer.addDrawerListener(barDrawerToggle);
}
barDrawerToggle.syncState();
+ drawer.addDrawerListener(new DrawerLayout.DrawerListener() {
+ @Override
+ public void onDrawerSlide(@NonNull View drawerView, float slideOffset) {
+ if (slideOffset > 0.2)
+ fabHide();
+ }
+ @Override
+ public void onDrawerOpened(@NonNull View drawerView) {
+ fabHide();
+ }
+ @Override
+ public void onDrawerClosed(@NonNull View drawerView) {
+ fabShouldShow();
+ }
+ @Override
+ public void onDrawerStateChanged(int newState) {}
+ });
try {
// profiles not yet loaded from DB
findViewById(R.id.loading_layout).setVisibility(View.VISIBLE);
findViewById(R.id.no_profiles_layout).setVisibility(View.GONE);
- findViewById(R.id.pager_layout).setVisibility(View.GONE);
+ findViewById(R.id.main_app_layout).setVisibility(View.GONE);
return;
}
if (newList.isEmpty()) {
findViewById(R.id.no_profiles_layout).setVisibility(View.VISIBLE);
- findViewById(R.id.pager_layout).setVisibility(View.GONE);
+ findViewById(R.id.main_app_layout).setVisibility(View.GONE);
findViewById(R.id.loading_layout).setVisibility(View.GONE);
return;
}
- findViewById(R.id.pager_layout).setVisibility(View.VISIBLE);
+ findViewById(R.id.main_app_layout).setVisibility(View.VISIBLE);
findViewById(R.id.no_profiles_layout).setVisibility(View.GONE);
findViewById(R.id.loading_layout).setVisibility(View.GONE);
scheduleDataRetrievalIfStale(newValue);
}
private void profileThemeChanged() {
- Bundle bundle = new Bundle();
- onSaveInstanceState(bundle);
-
storeThemeIdInPrefs(profile.getThemeHue());
- // restart activity to reflect theme change
- finish();
-
// un-hook all observed LiveData
Data.profile.removeObservers(this);
Data.profiles.removeObservers(this);
Data.lastUpdateDate.removeObservers(this);
- Intent intent = new Intent(this, this.getClass());
- intent.putExtra(BUNDLE_SAVED_STATE, bundle);
- startActivity(intent);
+
+ recreate();
}
private void storeThemeIdInPrefs(int themeId) {
// store the new theme id in the preferences
}
}
public void fabShouldShow() {
- if ((profile != null) && profile.isPostingPermitted())
+ if ((profile != null) && profile.isPostingPermitted() && !drawer.isOpen())
fab.show();
}
public void fabHide() {