X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Factivity%2FMainActivity.java;h=fd6942b03b6d2a21e51d1c1d76f572128e83774f;hp=12957e97e9e7c8e02c14e37ba674f40456433a8f;hb=9fc9b9048e7917933611d881b8aa1ceb2abd2205;hpb=abf0d185f5a4abec2111108b8ea27b3f70bb553d diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java b/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java index 12957e97..fd6942b0 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java @@ -38,6 +38,17 @@ import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; +import androidx.appcompat.app.ActionBarDrawerToggle; +import androidx.appcompat.widget.Toolbar; +import androidx.core.view.GravityCompat; +import androidx.drawerlayout.widget.DrawerLayout; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentPagerAdapter; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.viewpager.widget.ViewPager; + import com.google.android.material.floatingactionbutton.FloatingActionButton; import net.ktnx.mobileledger.R; @@ -67,17 +78,6 @@ import java.util.Date; import java.util.List; import java.util.Locale; -import androidx.appcompat.app.ActionBarDrawerToggle; -import androidx.appcompat.widget.Toolbar; -import androidx.core.view.GravityCompat; -import androidx.drawerlayout.widget.DrawerLayout; -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentManager; -import androidx.fragment.app.FragmentPagerAdapter; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import androidx.viewpager.widget.ViewPager; - import static net.ktnx.mobileledger.utils.Logger.debug; public class MainActivity extends ProfileThemedActivity { @@ -88,16 +88,12 @@ public class MainActivity extends ProfileThemedActivity { public AccountSummaryFragment mAccountSummaryFragment; DrawerLayout drawer; private View profileListHeadMore, profileListHeadCancel, profileListHeadAddProfile; - private FragmentManager fragmentManager; private View bTransactionListCancelDownload; - private ProgressBar progressBar; - private LinearLayout progressLayout; private SectionsPagerAdapter mSectionsPagerAdapter; private ViewPager mViewPager; private FloatingActionButton fab; private ProfilesRecyclerViewAdapter mProfileListAdapter; private int mCurrentPage; - private String mAccountFilter; private boolean mBackMeansToAccountList = false; private Toolbar mToolbar; private DrawerLayout.SimpleDrawerListener drawerListener; @@ -108,17 +104,14 @@ public class MainActivity extends ProfileThemedActivity { protected void onStart() { super.onStart(); - debug("flow", "MainActivity.onStart()"); mViewPager.setCurrentItem(mCurrentPage, false); - if (mAccountFilter != null) showTransactionsFragment(mAccountFilter); - else Data.accountFilter.setValue(null); - } @Override 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); + if (Data.accountFilter.getValue() != null) + outState.putString(STATE_ACC_FILTER, Data.accountFilter.getValue()); } @Override protected void onDestroy() { @@ -143,6 +136,11 @@ public class MainActivity extends ProfileThemedActivity { storeThemeIdInPrefs(profileColor); } @Override + protected void onResume() { + super.onResume(); + fabShouldShow(); + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); debug("flow", "MainActivity.onCreate()"); @@ -156,10 +154,7 @@ public class MainActivity extends ProfileThemedActivity { profileListHeadAddProfile = findViewById(R.id.nav_new_profile_button); drawer = findViewById(R.id.drawer_layout); bTransactionListCancelDownload = findViewById(R.id.transaction_list_cancel_download); - progressBar = findViewById(R.id.transaction_list_progress_bar); - progressLayout = findViewById(R.id.transaction_progress_layout); - fragmentManager = getSupportFragmentManager(); - mSectionsPagerAdapter = new SectionsPagerAdapter(fragmentManager); + mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); mViewPager = findViewById(R.id.root_frame); Bundle extra = getIntent().getBundleExtra(BUNDLE_SAVED_STATE); @@ -191,11 +186,6 @@ public class MainActivity extends ProfileThemedActivity { e.printStackTrace(); } - if (progressBar == null) - throw new RuntimeException("Can't get hold on the transaction value progress bar"); - if (progressLayout == null) throw new RuntimeException( - "Can't get hold on the transaction value progress bar layout"); - markDrawerItemCurrent(R.id.nav_account_summary); mViewPager.setAdapter(mSectionsPagerAdapter); @@ -204,6 +194,7 @@ public class MainActivity extends ProfileThemedActivity { pageChangeListener = new ViewPager.SimpleOnPageChangeListener() { @Override public void onPageSelected(int position) { + mCurrentPage = position; switch (position) { case 0: markDrawerItemCurrent(R.id.nav_account_summary); @@ -228,9 +219,8 @@ public class MainActivity extends ProfileThemedActivity { if (currentPage != -1) { mCurrentPage = currentPage; } - mAccountFilter = savedInstanceState.getString(STATE_ACC_FILTER, null); + Data.accountFilter.setValue(savedInstanceState.getString(STATE_ACC_FILTER, null)); } - else mAccountFilter = null; Data.lastUpdateDate.observe(this, this::updateLastUpdateDisplay); @@ -319,7 +309,7 @@ public class MainActivity extends ProfileThemedActivity { } } private void createShortcuts(List list) { - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) return; + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N_MR1) return; List shortcuts = new ArrayList<>(); int i = 0; @@ -483,7 +473,7 @@ public class MainActivity extends ProfileThemedActivity { public void fabNewTransactionClicked(View view) { Intent intent = new Intent(this, NewTransactionActivity.class); startActivity(intent); - overridePendingTransition(R.anim.slide_in_right, R.anim.dummy); + overridePendingTransition(R.anim.slide_in_up, R.anim.dummy); } public void navSettingsClicked(View view) { Intent intent = new Intent(this, SettingsActivity.class); @@ -541,7 +531,7 @@ public class MainActivity extends ProfileThemedActivity { } else { debug("fragments", String.format(Locale.ENGLISH, "manager stack: %d", - fragmentManager.getBackStackEntryCount())); + getSupportFragmentManager().getBackStackEntryCount())); super.onBackPressed(); } @@ -567,7 +557,7 @@ public class MainActivity extends ProfileThemedActivity { } public void onRetrieveDone(String error) { Data.transactionRetrievalDone(); - progressLayout.setVisibility(View.GONE); + findViewById(R.id.transaction_progress_layout).setVisibility(View.GONE); if (error == null) { updateLastUpdateTextFromDB(); @@ -578,15 +568,18 @@ public class MainActivity extends ProfileThemedActivity { else Toast.makeText(this, error, Toast.LENGTH_LONG).show(); } public void onRetrieveStart() { + ProgressBar progressBar = findViewById(R.id.transaction_list_progress_bar); bTransactionListCancelDownload.setEnabled(true); - progressBar.setIndeterminateTintList(ColorStateList.valueOf(Colors.primary)); - progressBar.setProgressTintList(ColorStateList.valueOf(Colors.primary)); + ColorStateList csl = Colors.getColorStateList(); + progressBar.setIndeterminateTintList(csl); + progressBar.setProgressTintList(csl); progressBar.setIndeterminate(true); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) progressBar.setProgress(0, false); else progressBar.setProgress(0); - progressLayout.setVisibility(View.VISIBLE); + findViewById(R.id.transaction_progress_layout).setVisibility(View.VISIBLE); } public void onRetrieveProgress(RetrieveTransactionsTask.Progress progress) { + ProgressBar progressBar = findViewById(R.id.transaction_list_progress_bar); if ((progress.getTotal() == RetrieveTransactionsTask.Progress.INDETERMINATE) || (progress.getTotal() == 0)) {