the onCreate method must finish setting up the theme before
returning and giving way to creation of views
if the current profile data comes asynchronously, it may be too late and
some views may have already been created
import net.ktnx.mobileledger.model.Data;
import net.ktnx.mobileledger.model.MobileLedgerProfile;
import net.ktnx.mobileledger.utils.Colors;
import net.ktnx.mobileledger.model.Data;
import net.ktnx.mobileledger.model.MobileLedgerProfile;
import net.ktnx.mobileledger.utils.Colors;
-import net.ktnx.mobileledger.utils.GetOptCallback;
import net.ktnx.mobileledger.utils.MLDB;
@SuppressLint("Registered")
import net.ktnx.mobileledger.utils.MLDB;
@SuppressLint("Registered")
protected void onCreate(@Nullable Bundle savedInstanceState) {
initProfile();
super.onCreate(savedInstanceState);
protected void onCreate(@Nullable Bundle savedInstanceState) {
initProfile();
super.onCreate(savedInstanceState);
+
+ setupProfileColors();
+
Data.profile.observe(this, mobileLedgerProfile -> {
mProfile = mobileLedgerProfile;
setupProfileColors();
Data.profile.observe(this, mobileLedgerProfile -> {
mProfile = mobileLedgerProfile;
setupProfileColors();
protected void initProfile() {
mProfile = Data.profile.getValue();
if (mProfile == null) {
protected void initProfile() {
mProfile = Data.profile.getValue();
if (mProfile == null) {
- MLDB.getOption(MLDB.OPT_PROFILE_UUID, null, new GetOptCallback() {
- @Override
- protected void onResult(String profileUUID) {
- MobileLedgerProfile startupProfile;
+ String profileUUID = MLDB.getOption(MLDB.OPT_PROFILE_UUID, null);
+ MobileLedgerProfile startupProfile;
- startupProfile = Data.getProfile(profileUUID);
- Data.setCurrentProfile(startupProfile);
- }
- });
+ startupProfile = Data.getProfile(profileUUID);
+ Data.setCurrentProfile(startupProfile);
+ mProfile = startupProfile;