import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;
-import android.widget.Toast;
+import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.widget.Toolbar;
import androidx.core.view.GravityCompat;
import androidx.viewpager.widget.ViewPager;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
+import com.google.android.material.snackbar.Snackbar;
import net.ktnx.mobileledger.R;
import net.ktnx.mobileledger.async.DbOpQueue;
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) {}
+ });
- TextView ver = drawer.findViewById(R.id.drawer_version_text);
try {
PackageInfo pi = getApplicationContext().getPackageManager()
.getPackageInfo(getPackageName(), 0);
- ver.setText(pi.versionName);
+ ((TextView) findViewById(R.id.nav_upper).findViewById(
+ R.id.drawer_version_text)).setText(pi.versionName);
+ ((TextView) findViewById(R.id.no_profiles_layout).findViewById(
+ R.id.drawer_version_text)).setText(pi.versionName);
}
catch (Exception e) {
e.printStackTrace();
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N_MR1)
return;
+ ShortcutManager sm = getSystemService(ShortcutManager.class);
List<ShortcutInfo> shortcuts = new ArrayList<>();
int i = 0;
for (MobileLedgerProfile p : list) {
+ if (shortcuts.size() >= sm.getMaxShortcutCountPerActivity())
+ break;
+
if (!p.isPostingPermitted())
continue;
shortcuts.add(si);
i++;
}
- ShortcutManager sm = getSystemService(ShortcutManager.class);
sm.setDynamicShortcuts(shortcuts);
}
private void onProfileListChanged(List<MobileLedgerProfile> newList) {
// 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);
mProfileListAdapter.notifyDataSetChanged();
- int newProfileTheme = haveProfile ? profile.getThemeId() : -1;
+ int newProfileTheme = haveProfile ? profile.getThemeHue() : -1;
if (newProfileTheme != Colors.profileThemeId) {
debug("profiles",
String.format(Locale.ENGLISH, "profile theme %d → %d", Colors.profileThemeId,
fab.show();
}
else {
- mToolbar.setSubtitle(R.string.profile_subitlte_read_only);
+ mToolbar.setSubtitle(R.string.profile_subtitle_read_only);
fab.hide();
}
}
Bundle bundle = new Bundle();
onSaveInstanceState(bundle);
- storeThemeIdInPrefs(profile.getThemeId());
+ storeThemeIdInPrefs(profile.getThemeHue());
// restart activity to reflect theme change
finish();
TransactionListViewModel.scheduleTransactionListReload();
}
else
- Toast.makeText(this, error, Toast.LENGTH_LONG)
- .show();
+ Snackbar.make(mViewPager, error, Snackbar.LENGTH_LONG)
+ .show();
}
public void onRetrieveStart() {
ProgressBar progressBar = findViewById(R.id.transaction_list_progress_bar);
}
}
public void fabShouldShow() {
- if ((profile != null) && profile.isPostingPermitted())
+ if ((profile != null) && profile.isPostingPermitted() && !drawer.isOpen())
fab.show();
}
public void fabHide() {