X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Factivity%2FProfileDetailActivity.java;h=1bc17ec4278f2e335284524e88b522855c867a22;hb=667ce42731c95a98926657fea359b56209f9348e;hp=f14a5b5aaa7b7bf3f08b12e70e615a015047b277;hpb=1738aee062f23cc9a69ed11cade1cb048f083def;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/activity/ProfileDetailActivity.java b/app/src/main/java/net/ktnx/mobileledger/ui/activity/ProfileDetailActivity.java index f14a5b5a..1bc17ec4 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/activity/ProfileDetailActivity.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/activity/ProfileDetailActivity.java @@ -19,16 +19,21 @@ package net.ktnx.mobileledger.ui.activity; import android.os.Bundle; import android.view.Menu; +import android.view.MenuItem; import androidx.appcompat.app.ActionBar; import androidx.appcompat.widget.Toolbar; +import androidx.lifecycle.ViewModelProvider; import net.ktnx.mobileledger.R; import net.ktnx.mobileledger.model.Data; import net.ktnx.mobileledger.model.MobileLedgerProfile; import net.ktnx.mobileledger.ui.profiles.ProfileDetailFragment; +import net.ktnx.mobileledger.ui.profiles.ProfileDetailModel; import net.ktnx.mobileledger.utils.Colors; +import org.jetbrains.annotations.NotNull; + import java.util.ArrayList; import java.util.Locale; @@ -43,6 +48,10 @@ import static net.ktnx.mobileledger.utils.Logger.debug; public class ProfileDetailActivity extends CrashReportingActivity { private MobileLedgerProfile profile = null; private ProfileDetailFragment mFragment; + @NotNull + private ProfileDetailModel getModel() { + return new ViewModelProvider(this).get(ProfileDetailModel.class); + } @Override protected void onCreate(Bundle savedInstanceState) { final int index = getIntent().getIntExtra(ProfileDetailFragment.ARG_ITEM_ID, -1); @@ -62,11 +71,20 @@ public class ProfileDetailActivity extends CrashReportingActivity { } super.onCreate(savedInstanceState); - Colors.setupTheme(this, profile); + int themeHue; + if (profile != null) + themeHue = profile.getThemeHue(); + else { + themeHue = Colors.getNewProfileThemeHue(Data.profiles.getValue()); + } + Colors.setupTheme(this, themeHue); + final ProfileDetailModel model = getModel(); + model.initialThemeHue = themeHue; setContentView(R.layout.activity_profile_detail); Toolbar toolbar = findViewById(R.id.detail_toolbar); setSupportActionBar(toolbar); + // Show the Up button in the action bar. ActionBar actionBar = getSupportActionBar(); if (actionBar != null) { @@ -87,6 +105,7 @@ public class ProfileDetailActivity extends CrashReportingActivity { // using a fragment transaction. Bundle arguments = new Bundle(); arguments.putInt(ProfileDetailFragment.ARG_ITEM_ID, index); + arguments.putInt(ProfileDetailFragment.ARG_HUE, themeHue); mFragment = new ProfileDetailFragment(); mFragment.setArguments(arguments); getSupportFragmentManager().beginTransaction() @@ -103,5 +122,12 @@ public class ProfileDetailActivity extends CrashReportingActivity { return true; } - + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (item.getItemId() == android.R.id.home) { + finish(); + return true; + } + return super.onOptionsItemSelected(item); + } }