+
+ findViewById(R.id.btn_no_profiles_add).setOnClickListener(v -> startAddProfileActivity());
+
+ findViewById(R.id.btn_add_transaction).setOnClickListener(this::fabNewTransactionClicked);
+ }
+ @Override
+ protected void onResume() {
+ super.onResume();
+ setupProfile();
+ }
+ private void startAddProfileActivity() {
+ Intent intent = new Intent(this, ProfileListActivity.class);
+ Bundle args = new Bundle();
+ args.putInt(ProfileListActivity.ARG_ACTION, ProfileListActivity.ACTION_EDIT_PROFILE);
+ args.putInt(ProfileListActivity.ARG_PROFILE_INDEX, ProfileListActivity.PROFILE_INDEX_NONE);
+ intent.putExtras(args);
+ startActivity(intent, args);
+ }
+ private void setupProfile() {
+ String profileUUID = MLDB.getOption(MLDB.OPT_PROFILE_UUID, null);
+ MobileLedgerProfile profile;
+
+ profile = MobileLedgerProfile.loadAllFromDB(profileUUID);
+
+ if (Data.profiles.getList().isEmpty()) {
+ findViewById(R.id.no_profiles_layout).setVisibility(View.VISIBLE);
+ findViewById(R.id.pager_layout).setVisibility(View.GONE);
+ return;
+ }
+
+ findViewById(R.id.pager_layout).setVisibility(View.VISIBLE);
+ findViewById(R.id.no_profiles_layout).setVisibility(View.GONE);
+
+ if (profile == null) profile = Data.profiles.get(0);
+
+ if (profile == null) throw new AssertionError("profile must have a value");
+
+ Data.setCurrentProfile(profile);