]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java
locale-aware String.format
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / activity / MainActivity.java
index c96e5e9c92a9cad7f14f2dedb3cedbde75ef8af8..88cc39d0c03f6ae25134ea879d31403e6a7cef35 100644 (file)
@@ -56,6 +56,7 @@ import net.ktnx.mobileledger.ui.transaction_list.TransactionListFragment;
 import net.ktnx.mobileledger.ui.transaction_list.TransactionListViewModel;
 import net.ktnx.mobileledger.utils.Colors;
 import net.ktnx.mobileledger.utils.LockHolder;
+import net.ktnx.mobileledger.utils.Logger;
 import net.ktnx.mobileledger.utils.MLDB;
 
 import org.jetbrains.annotations.NotNull;
@@ -65,6 +66,7 @@ import java.text.DateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Locale;
 import java.util.Observer;
 
 import androidx.appcompat.app.ActionBarDrawerToggle;
@@ -119,7 +121,7 @@ public class MainActivity extends ProfileThemedActivity {
 
     }
     @Override
-    protected void onSaveInstanceState(Bundle outState) {
+    protected void onSaveInstanceState(@NotNull Bundle outState) {
         super.onSaveInstanceState(outState);
         outState.putInt(STATE_CURRENT_PAGE, mViewPager.getCurrentItem());
         if (mAccountFilter != null) outState.putString(STATE_ACC_FILTER, mAccountFilter);
@@ -158,7 +160,8 @@ public class MainActivity extends ProfileThemedActivity {
         profileListHeadArrow = findViewById(R.id.nav_profiles_arrow);
         profileListHeadMore = findViewById(R.id.nav_profiles_start_edit);
         profileListHeadCancel = findViewById(R.id.nav_profiles_cancel_edit);
-        profileListHeadMoreAndCancel = findViewById(R.id.nav_profile_list_head_buttons);
+        LinearLayout profileListHeadMoreAndCancel =
+                findViewById(R.id.nav_profile_list_head_buttons);
         drawer = findViewById(R.id.drawer_layout);
         bTransactionListCancelDownload = findViewById(R.id.transaction_list_cancel_download);
         progressBar = findViewById(R.id.transaction_list_progress_bar);
@@ -263,8 +266,6 @@ public class MainActivity extends ProfileThemedActivity {
         if (editingProfilesObserver == null) {
             editingProfilesObserver = (o, arg) -> {
                 if (mProfileListAdapter.isEditingProfiles()) {
-                    profileListHeadArrow.clearAnimation();
-                    profileListHeadArrow.setVisibility(View.GONE);
                     profileListHeadMore.setVisibility(View.GONE);
                     profileListHeadMore
                             .startAnimation(AnimationUtils.loadAnimation(this, R.anim.fade_out));
@@ -273,8 +274,6 @@ public class MainActivity extends ProfileThemedActivity {
                             .startAnimation(AnimationUtils.loadAnimation(this, R.anim.fade_in));
                 }
                 else {
-                    profileListHeadArrow.setRotation(180f);
-                    profileListHeadArrow.setVisibility(View.VISIBLE);
                     profileListHeadCancel.setVisibility(View.GONE);
                     profileListHeadCancel
                             .startAnimation(AnimationUtils.loadAnimation(this, R.anim.fade_out));
@@ -324,9 +323,9 @@ public class MainActivity extends ProfileThemedActivity {
         long now = new Date().getTime();
         if ((lastUpdate == null) || (now > (lastUpdate.getTime() + (24 * 3600 * 1000)))) {
             if (lastUpdate == null) debug("db::", "WEB data never fetched. scheduling a fetch");
-            else debug("db",
-                    String.format("WEB data last fetched at %1.3f and now is %1.3f. re-fetching",
-                            lastUpdate.getTime() / 1000f, now / 1000f));
+            else debug("db", String.format(Locale.ENGLISH,
+                    "WEB data last fetched at %1.3f and now is %1.3f. re-fetching",
+                    lastUpdate.getTime() / 1000f, now / 1000f));
 
             scheduleTransactionListRetrieval();
         }
@@ -335,7 +334,7 @@ public class MainActivity extends ProfileThemedActivity {
         if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) return;
 
         List<ShortcutInfo> shortcuts = new ArrayList<>();
-        try (LockHolder lh = Data.profiles.lockForReading()) {
+        try (LockHolder ignored = Data.profiles.lockForReading()) {
             for (int i = 0; i < Data.profiles.size(); i++) {
                 MobileLedgerProfile p = Data.profiles.get(i);
                 if (!p.isPostingPermitted()) continue;
@@ -542,7 +541,7 @@ public class MainActivity extends ProfileThemedActivity {
         mViewPager.setCurrentItem(1, true);
     }
     private void showTransactionsFragment(LedgerAccount account) {
-        showTransactionsFragment((account == null) ? (String) null : account.getName());
+        showTransactionsFragment((account == null) ? null : account.getName());
     }
     public void showAccountTransactions(LedgerAccount account) {
         mBackMeansToAccountList = true;
@@ -561,7 +560,7 @@ public class MainActivity extends ProfileThemedActivity {
                 mBackMeansToAccountList = false;
             }
             else {
-                debug("fragments", String.format("manager stack: %d",
+                debug("fragments", String.format(Locale.ENGLISH, "manager stack: %d",
                         fragmentManager.getBackStackEntryCount()));
 
                 super.onBackPressed();
@@ -572,7 +571,7 @@ public class MainActivity extends ProfileThemedActivity {
         final MobileLedgerProfile profile = Data.profile.get();
         long last_update = (profile != null) ? profile.getLongOption(MLDB.OPT_LAST_SCRAPE, 0L) : 0;
 
-        debug("transactions", String.format("Last update = %d", last_update));
+        debug("transactions", String.format(Locale.ENGLISH, "Last update = %d", last_update));
         if (last_update == 0) {
             Data.lastUpdateDate.postValue(null);
         }
@@ -634,6 +633,9 @@ public class MainActivity extends ProfileThemedActivity {
         MobileLedgerProfile profile = Data.profile.get();
         if ((profile != null) && profile.isPostingPermitted()) fab.show();
     }
+    public void fabHide() {
+        fab.hide();
+    }
     public void navProfilesHeadClicked(View view) {
         if (profileListExpanded) {
             collapseProfileList();
@@ -734,7 +736,7 @@ public class MainActivity extends ProfileThemedActivity {
 
                     // removing all child accounts from the view
                     int start = -1, count = 0;
-                    try (LockHolder lh = Data.accounts.lockForWriting()) {
+                    try (LockHolder ignored = Data.accounts.lockForWriting()) {
                         for (int i = 0; i < Data.accounts.size(); i++) {
                             if (acc.isParentOf(Data.accounts.get(i))) {
 //                                debug("accounts", String.format("Found a child '%s' at position %d",
@@ -772,7 +774,7 @@ public class MainActivity extends ProfileThemedActivity {
                     animator.rotationBy(-180);
                     List<LedgerAccount> children =
                             Data.profile.get().loadVisibleChildAccountsOf(acc);
-                    try (LockHolder lh = Data.accounts.lockForWriting()) {
+                    try (LockHolder ignored = Data.accounts.lockForWriting()) {
                         int parentPos = Data.accounts.indexOf(acc);
                         if (parentPos != -1) {
                             // may have disappeared in a concurrent refresh operation
@@ -799,14 +801,14 @@ public class MainActivity extends ProfileThemedActivity {
 
     public class SectionsPagerAdapter extends FragmentPagerAdapter {
 
-        public SectionsPagerAdapter(FragmentManager fm) {
+        SectionsPagerAdapter(FragmentManager fm) {
             super(fm);
         }
 
         @NotNull
         @Override
         public Fragment getItem(int position) {
-            debug("main", String.format("Switching to fragment %d", position));
+            debug("main", String.format(Locale.ENGLISH, "Switching to fragment %d", position));
             switch (position) {
                 case 0:
 //                    debug("flow", "Creating account summary fragment");