- Data.lastUpdateDate.addObserver(new Observer() {
- @Override
- public void update(Observable o, Object arg) {
- Log.d("main", "lastUpdateDate changed");
- runOnUiThread(new Runnable() {
- @Override
- public void run() {
- Date date = Data.lastUpdateDate.get();
- if (date == null) {
- tvLastUpdate.setText(R.string.transaction_last_update_never);
- }
- else {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- tvLastUpdate.setText(date.toInstant().atZone(ZoneId.systemDefault())
- .format(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
- }
- else {
- tvLastUpdate.setText(date.toLocaleString());
- }
- }
- }
- });
+ mCurrentPage = 0;
+ if (savedInstanceState != null) {
+ int currentPage = savedInstanceState.getInt(STATE_CURRENT_PAGE, -1);
+ if (currentPage != -1) {
+ mCurrentPage = currentPage;
+ }
+ mAccountFilter = savedInstanceState.getString(STATE_ACC_FILTER, null);
+ }
+ else mAccountFilter = null;
+
+ Data.lastUpdateDate.observe(this, this::updateLastUpdateDisplay);
+
+ findViewById(R.id.btn_no_profiles_add)
+ .setOnClickListener(v -> startEditProfileActivity(null));
+
+ findViewById(R.id.btn_add_transaction).setOnClickListener(this::fabNewTransactionClicked);
+
+ findViewById(R.id.nav_new_profile_button)
+ .setOnClickListener(v -> startEditProfileActivity(null));
+
+ RecyclerView root = findViewById(R.id.nav_profile_list);
+ if (root == null)
+ throw new RuntimeException("Can't get hold on the transaction value view");
+
+ if (mProfileListAdapter == null) mProfileListAdapter = new ProfilesRecyclerViewAdapter();
+ root.setAdapter(mProfileListAdapter);
+
+ mProfileListAdapter.editingProfiles.observe(this, newValue -> {
+ if (newValue) {
+ profileListHeadMore.setVisibility(View.GONE);
+ profileListHeadCancel.setVisibility(View.VISIBLE);
+ profileListHeadAddProfile.setVisibility(View.VISIBLE);
+ if (drawer.isDrawerOpen(GravityCompat.START)) {
+ profileListHeadMore.startAnimation(
+ AnimationUtils.loadAnimation(MainActivity.this, R.anim.fade_out));
+ profileListHeadCancel.startAnimation(
+ AnimationUtils.loadAnimation(MainActivity.this, R.anim.fade_in));
+ profileListHeadAddProfile.startAnimation(
+ AnimationUtils.loadAnimation(MainActivity.this, R.anim.fade_in));
+ }
+ }
+ else {
+ profileListHeadCancel.setVisibility(View.GONE);
+ profileListHeadMore.setVisibility(View.VISIBLE);
+ profileListHeadAddProfile.setVisibility(View.GONE);
+ if (drawer.isDrawerOpen(GravityCompat.START)) {
+ profileListHeadCancel.startAnimation(
+ AnimationUtils.loadAnimation(MainActivity.this, R.anim.fade_out));
+ profileListHeadMore.startAnimation(
+ AnimationUtils.loadAnimation(MainActivity.this, R.anim.fade_in));
+ profileListHeadAddProfile.startAnimation(
+ AnimationUtils.loadAnimation(MainActivity.this, R.anim.fade_out));
+ }