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;
Colors.setupTheme(this, mThemeHue);
if (themeSetUp) {
- Logger.debug(TAG, "setupProfileColors(): theme already set up, recreating activity");
- this.recreate();
+ Logger.debug(TAG,
+ "setupProfileColors(): theme already set up, supposedly the activity will be " +
+ "recreated");
+// this.recreate();
+ return;
}
themeSetUp = true;
Data.observeProfile(this, profile -> {
if (profile == null) {
Logger.debug(TAG, "No current profile, leaving");
- finish();
return;
}
mProfile = profile;
+ storeProfilePref(profile);
int hue = profile.getTheme();
if (hue != mThemeHue) {
- storeProfilePref(profile);
+ Logger.debug(TAG,
+ String.format(Locale.US, "profile observer calling setupProfileColors(%d)",
+ hue));
setupProfileColors(hue);
}
});
if (profileId == -1)
mThemeHue = Colors.DEFAULT_HUE_DEG;
+ Logger.debug(TAG,
+ String.format(Locale.US, "initProfile() calling setupProfileColors(%d)", hue));
setupProfileColors(hue);
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) {
+ Logger.debug(TAG, String.format(Locale.US, "Loading profile %d", profileId));
ProfileDAO dao = DB.get()
.getProfileDAO();
Profile profile = dao.getByIdSync(profileId);
profile = dao.getAnySync();
}
- Logger.debug(TAG, String.format(Locale.ROOT, "Profile %d loaded. posting", profileId));
+ 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);
}
}