+ static public void startEditProfileActivity(Context context, MobileLedgerProfile profile) {
+ Intent intent = new Intent(context, ProfileDetailActivity.class);
+ Bundle args = new Bundle();
+ if (profile != null) {
+ int index = Data.getProfileIndex(profile);
+ if (index != -1)
+ intent.putExtra(ProfileDetailFragment.ARG_ITEM_ID, index);
+ }
+ intent.putExtras(args);
+ context.startActivity(intent, args);
+ }
+ public static MobileLedgerProfile fromDBO(Profile newProfile) {
+ MobileLedgerProfile p = new MobileLedgerProfile(newProfile.getId());
+ p.setDetectedVersion(new HledgerVersion(newProfile.getDetectedVersionMajor(),
+ newProfile.getDetectedVersionMinor()));
+ p.setApiVersion(newProfile.getApiVersion());
+ p.setAuthEnabled(newProfile.useAuthentication());
+ p.setAuthUserName(newProfile.getAuthUser());
+ p.setAuthPassword(newProfile.getAuthPassword());
+ p.setDefaultCommodity(newProfile.getDefaultCommodity());
+ p.setFutureDates(newProfile.getFutureDates());
+ p.setName(newProfile.getName());
+ p.setPostingPermitted(newProfile.permitPosting());
+ p.setPreferredAccountsFilter(newProfile.getPreferredAccountsFilter());
+ p.setShowCommentsByDefault(newProfile.getShowCommentsByDefault());
+ p.setShowCommodityByDefault(newProfile.getShowCommodityByDefault());
+ p.setUrl(newProfile.getUrl());
+ p.setThemeId(newProfile.getTheme());
+
+ return p;
+ }
+ public HledgerVersion getDetectedVersion() {
+ return detectedVersion;
+ }
+ public void setDetectedVersion(HledgerVersion detectedVersion) {
+ this.detectedVersion = detectedVersion;
+ }
+ @Contract(value = "null -> false", pure = true)
+ @Override
+ public boolean equals(@Nullable Object obj) {
+ if (obj == null)
+ return false;
+ if (obj == this)
+ return true;
+ if (obj.getClass() != this.getClass())
+ return false;
+
+ MobileLedgerProfile p = (MobileLedgerProfile) obj;
+ if (id != p.id)
+ return false;
+ if (!name.equals(p.name))
+ return false;
+ if (permitPosting != p.permitPosting)
+ return false;
+ if (showCommentsByDefault != p.showCommentsByDefault)
+ return false;
+ if (showCommodityByDefault != p.showCommodityByDefault)
+ return false;
+ if (!Objects.equals(defaultCommodity, p.defaultCommodity))
+ return false;
+ if (!Objects.equals(preferredAccountsFilter, p.preferredAccountsFilter))
+ return false;
+ if (!Objects.equals(url, p.url))
+ return false;
+ if (authEnabled != p.authEnabled)
+ return false;
+ if (!Objects.equals(authUserName, p.authUserName))
+ return false;
+ if (!Objects.equals(authPassword, p.authPassword))
+ return false;
+ if (themeHue != p.themeHue)
+ return false;
+ if (apiVersion != p.apiVersion)
+ return false;
+ if (!Objects.equals(detectedVersion, p.detectedVersion))
+ return false;
+ return futureDates == p.futureDates;
+ }
+ public boolean getShowCommentsByDefault() {
+ return showCommentsByDefault;
+ }
+ public void setShowCommentsByDefault(boolean newValue) {
+ this.showCommentsByDefault = newValue;
+ }
+ public boolean getShowCommodityByDefault() {
+ return showCommodityByDefault;
+ }
+ public void setShowCommodityByDefault(boolean showCommodityByDefault) {
+ this.showCommodityByDefault = showCommodityByDefault;
+ }
+ public String getDefaultCommodity() {
+ return defaultCommodity;
+ }
+ public void setDefaultCommodity(String defaultCommodity) {
+ this.defaultCommodity = defaultCommodity;
+ }
+ public void setDefaultCommodity(CharSequence defaultCommodity) {
+ if (defaultCommodity == null)
+ this.defaultCommodity = null;
+ else
+ this.defaultCommodity = String.valueOf(defaultCommodity);
+ }
+ public API getApiVersion() {
+ return apiVersion;
+ }
+ public void setApiVersion(API apiVersion) {
+ this.apiVersion = apiVersion;
+ }
+ public void setApiVersion(int apiVersion) {
+ this.apiVersion = API.valueOf(apiVersion);
+ }
+ public FutureDates getFutureDates() {
+ return futureDates;
+ }
+ public void setFutureDates(int anInt) {
+ futureDates = FutureDates.valueOf(anInt);
+ }
+ public void setFutureDates(FutureDates futureDates) {
+ this.futureDates = futureDates;
+ }
+ public String getPreferredAccountsFilter() {
+ return preferredAccountsFilter;
+ }
+ public void setPreferredAccountsFilter(String preferredAccountsFilter) {
+ this.preferredAccountsFilter = preferredAccountsFilter;
+ }
+ public void setPreferredAccountsFilter(CharSequence preferredAccountsFilter) {
+ setPreferredAccountsFilter(String.valueOf(preferredAccountsFilter));
+ }