package net.ktnx.mobileledger.ui.activity;
import android.annotation.SuppressLint;
-import android.os.AsyncTask;
import android.os.Bundle;
import androidx.annotation.Nullable;
import net.ktnx.mobileledger.App;
+import net.ktnx.mobileledger.dao.BaseDAO;
import net.ktnx.mobileledger.dao.ProfileDAO;
import net.ktnx.mobileledger.db.DB;
import net.ktnx.mobileledger.db.Profile;
import net.ktnx.mobileledger.model.Data;
-import net.ktnx.mobileledger.model.MobileLedgerProfile;
import net.ktnx.mobileledger.utils.Colors;
import net.ktnx.mobileledger.utils.Logger;
public static final String TAG = "prf-thm-act";
protected static final String PARAM_PROFILE_ID = "profile-id";
protected static final String PARAM_THEME = "theme";
- protected MobileLedgerProfile mProfile;
+ protected Profile mProfile;
private boolean themeSetUp = false;
private boolean mIgnoreProfileChange;
private int mThemeHue;
Data.observeProfile(this, profile -> {
if (profile == null) {
Logger.debug(TAG, "No current profile, leaving");
- finish();
return;
}
mProfile = profile;
- int hue = profile.getThemeHue();
+ int hue = profile.getTheme();
if (hue != mThemeHue) {
storeProfilePref(profile);
super.onCreate(savedInstanceState);
}
- public void storeProfilePref(MobileLedgerProfile profile) {
- App.storeStartupProfileAndTheme(profile.getId(), profile.getThemeHue());
+ public void storeProfilePref(Profile profile) {
+ App.storeStartupProfileAndTheme(profile.getId(), profile.getTheme());
}
protected void initProfile() {
long profileId = App.getStartupProfile();
initProfile(profileId);
}
protected void initProfile(long profileId) {
- AsyncTask.execute(() -> initProfileAsync(profileId));
+ BaseDAO.runAsync(() -> initProfileSync(profileId));
}
- private void initProfileAsync(long profileId) {
+ private void initProfileSync(long profileId) {
ProfileDAO dao = DB.get()
.getProfileDAO();
Profile profile = dao.getByIdSync(profileId);
profile = dao.getAnySync();
}
- Data.postCurrentProfile(MobileLedgerProfile.fromDBO(profile));
+ if (profile == null)
+ Logger.debug(TAG, "No profile could be loaded");
+ else
+ Logger.debug(TAG, String.format(Locale.ROOT, "Profile %d loaded. posting", profileId));
+ Data.postCurrentProfile(profile);
}
}