mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-04-14 19:56:32 +00:00
better handling for dailyDueDefaultView setting
This commit is contained in:
parent
90900858b3
commit
11c3f2ba2e
8 changed files with 38 additions and 36 deletions
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent">
|
||||
android:layout_width="match_parent"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
tools:background="@color/brand">
|
||||
<android.support.v4.view.ViewPager
|
||||
android:id="@+id/view_pager"
|
||||
android:layout_width="match_parent"
|
||||
|
|
@ -45,6 +47,8 @@
|
|||
android:layout_marginBottom="6dp"
|
||||
android:background="@color/transparent"
|
||||
android:textColor="@android:color/white"
|
||||
android:visibility="gone" />
|
||||
android:textSize="16sp"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"/>
|
||||
</RelativeLayout>
|
||||
</FrameLayout>
|
||||
|
|
|
|||
|
|
@ -210,8 +210,8 @@
|
|||
<string name="intro_2_subtitle">Progress in the game</string>
|
||||
<string name="intro_2_title">Progress in life</string>
|
||||
<string name="intro_2_description">Unlock features in the game by checking off your real life tasks. Earn armor, pets, and more as rewards for meeting your goals.</string>
|
||||
<string name="intro_3_subtitle">Get social</string>
|
||||
<string name="intro_3_title">Fight monsters</string>
|
||||
<string name="intro_3_subtitle">Fight monsters</string>
|
||||
<string name="intro_3_title">Get social</string>
|
||||
<string name="intro_3_description">Keep your goals on track with help from your friends. Support each other in life and in battle as you improve together!</string>
|
||||
<string name="intro_finish_button">Let\'s start!</string>
|
||||
<string name="previous_button">Previous</string>
|
||||
|
|
@ -551,7 +551,7 @@
|
|||
<string name="avatar_wheelchair">Wheelchair</string>
|
||||
<string name="weak">Weak</string>
|
||||
<string name="strong">Strong</string>
|
||||
<string name="gray">Gray</string>
|
||||
<string name="gray">Grey</string>
|
||||
<string name="dated">Dated</string>
|
||||
<string name="completed">Completed</string>
|
||||
<string name="setuP_group_other">Other</string>
|
||||
|
|
@ -567,4 +567,6 @@
|
|||
<string name="read_community_guidelines">Please read our Community Guidelines before posting</string>
|
||||
<string name="maintenance">Maintenance</string>
|
||||
<string name="reload_content">Reload Content</string>
|
||||
<string name="dailyDueDefaultView">Set Dailies default to ‘due’ tab</string>
|
||||
<string name="dailyDueDefaultViewDescription">With this option set, the Dailies tasks will default to ‘due’ instead of ‘all’</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -85,6 +85,11 @@
|
|||
android:entryValues="@array/AudioValues"
|
||||
android:summary="@string/AudioTheme_summary"
|
||||
android:order="3"/>
|
||||
<CheckBoxPreference android:title="@string/dailyDueDefaultView"
|
||||
android:key="dailyDueDefaultView"
|
||||
android:order="6"
|
||||
android:summary="@string/dailyDueDefaultViewDescription"
|
||||
/>
|
||||
<Preference android:title="@string/logout"
|
||||
android:key="logout"
|
||||
android:summary="@string/logout_description"
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ public interface UserRepository extends BaseRepository {
|
|||
|
||||
Observable<HabitRPGUser> getUser(String userID);
|
||||
Observable<HabitRPGUser> updateUser(HabitRPGUser user, Map<String, Object> updateData);
|
||||
Observable<HabitRPGUser> updateUser(HabitRPGUser user, String key, Object value);
|
||||
|
||||
Observable<HabitRPGUser> retrieveUser(Boolean withTasks);
|
||||
|
||||
|
|
|
|||
|
|
@ -31,6 +31,13 @@ public class UserRepositoryImpl extends BaseRepositoryImpl<UserLocalRepository>
|
|||
.map(newUser -> mergeUser(user, newUser));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Observable<HabitRPGUser> updateUser(HabitRPGUser user, String key, Object value) {
|
||||
Map<String, Object> updateData = new HashMap<>();
|
||||
updateData.put(key, value);
|
||||
return updateUser(user, updateData);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Observable<HabitRPGUser> retrieveUser(Boolean withTasks) {
|
||||
return apiClient.retrieveUser(withTasks)
|
||||
|
|
|
|||
|
|
@ -30,6 +30,9 @@ public class TaskFilterHelper {
|
|||
}
|
||||
|
||||
private boolean isTaskFilterActive(String type) {
|
||||
if (activeFilters.get(type) == null) {
|
||||
return false;
|
||||
}
|
||||
if (Task.TYPE_TODO.equals(type)) {
|
||||
return !Task.FILTER_ACTIVE.equals(activeFilters.get(type));
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import com.habitrpg.android.habitica.data.ApiClient;
|
|||
import com.habitrpg.android.habitica.HabiticaApplication;
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.callbacks.MergeUserCallback;
|
||||
import com.habitrpg.android.habitica.data.UserRepository;
|
||||
import com.habitrpg.android.habitica.events.commands.RefreshUserCommand;
|
||||
import com.habitrpg.android.habitica.helpers.LanguageHelper;
|
||||
import com.habitrpg.android.habitica.helpers.SoundManager;
|
||||
|
|
@ -45,7 +46,8 @@ public class PreferencesFragment extends BasePreferencesFragment implements
|
|||
public ApiClient apiClient;
|
||||
@Inject
|
||||
public SoundManager soundManager;
|
||||
public MainActivity activity;
|
||||
@Inject
|
||||
UserRepository userRepository;
|
||||
private Context context;
|
||||
private TimePreference timePreference;
|
||||
private PreferenceScreen pushNotificationsPreference;
|
||||
|
|
@ -202,13 +204,8 @@ public class PreferencesFragment extends BasePreferencesFragment implements
|
|||
}
|
||||
getActivity().getResources().updateConfiguration(configuration,
|
||||
getActivity().getResources().getDisplayMetrics());
|
||||
|
||||
Map<String, Object> updateData = new HashMap<>();
|
||||
updateData.put("preferences.language", languageHelper.getLanguageCode());
|
||||
apiClient.updateUser(updateData)
|
||||
|
||||
.subscribe(new MergeUserCallback(activity, user), throwable -> {
|
||||
});
|
||||
userRepository.updateUser(user, "preferences.language", languageHelper.getLanguageCode())
|
||||
.subscribe(habitRPGUser -> {}, throwable -> {});
|
||||
|
||||
Preferences preferences = user.getPreferences();
|
||||
preferences.setLanguage(languageHelper.getLanguageCode());
|
||||
|
|
@ -231,12 +228,8 @@ public class PreferencesFragment extends BasePreferencesFragment implements
|
|||
|
||||
} else if (key.equals("audioTheme")) {
|
||||
String newAudioTheme = sharedPreferences.getString(key, "off");
|
||||
|
||||
Map<String, Object> updateData = new HashMap<>();
|
||||
updateData.put("preferences.sound", newAudioTheme);
|
||||
MergeUserCallback mergeUserCallback = new MergeUserCallback(activity, user);
|
||||
apiClient.updateUser(updateData)
|
||||
.subscribe(mergeUserCallback, throwable -> {
|
||||
userRepository.updateUser(user, "preferences.sound", newAudioTheme)
|
||||
.subscribe(habitRPGUser -> {}, throwable -> {
|
||||
});
|
||||
|
||||
Preferences preferences = user.getPreferences();
|
||||
|
|
@ -245,6 +238,9 @@ public class PreferencesFragment extends BasePreferencesFragment implements
|
|||
soundManager.setSoundTheme(newAudioTheme);
|
||||
|
||||
soundManager.preloadAllFiles();
|
||||
} else if (key.equals("dailyDueDefaultView")) {
|
||||
userRepository.updateUser(user, "preferences.dailyDueDefaultView", sharedPreferences.getBoolean(key, false))
|
||||
.subscribe(habitRPGUser -> {}, throwable -> {});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -288,6 +284,7 @@ public class PreferencesFragment extends BasePreferencesFragment implements
|
|||
if (user != null && user.getPreferences() != null) {
|
||||
TimePreference cdsTimePreference = (TimePreference) findPreference("cds_time");
|
||||
cdsTimePreference.setText(user.getPreferences().getDayStart() + ":00");
|
||||
findPreference("dailyDueDefaultView").setDefaultValue(user.getPreferences().getDailyDueDefaultView());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -186,10 +186,6 @@ public class TasksFragment extends BaseMainFragment {
|
|||
}
|
||||
if (getActiveFragment() != null) {
|
||||
getActiveFragment().setActiveFilter(activeTaskFilter);
|
||||
if (Task.TYPE_DAILY.equals(getActiveFragment().classType)) {
|
||||
updateDailyDueDefaultSetting(activeTaskFilter);
|
||||
}
|
||||
|
||||
}
|
||||
taskFilterHelper.setTags(activeTags);
|
||||
updateFilterIcon();
|
||||
|
|
@ -198,19 +194,6 @@ public class TasksFragment extends BaseMainFragment {
|
|||
dialog.show();
|
||||
}
|
||||
|
||||
private void updateDailyDueDefaultSetting(String activeTaskFilter) {
|
||||
Boolean showDueDefault = Task.FILTER_ACTIVE.equals(activeTaskFilter);
|
||||
if (user != null) {
|
||||
if (user.getPreferences().getDailyDueDefaultView() != showDueDefault) {
|
||||
UpdateUserCommand command = new UpdateUserCommand();
|
||||
Map<String, Object> data = new HashMap<>();
|
||||
data.put("preferences.dailyDueDefaultView", showDueDefault);
|
||||
command.updateData = data;
|
||||
EventBus.getDefault().post(command);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void refresh() {
|
||||
if (getActiveFragment() != null) {
|
||||
getActiveFragment().onRefresh();
|
||||
|
|
|
|||
Loading…
Reference in a new issue