From bbf3728b034a3067a63043aaceada5cd9d5bb60c Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Tue, 21 Jun 2016 13:36:51 +0200 Subject: [PATCH] Reformat code --- .../habitrpg/android/habitica/APIHelper.java | 76 ++-- .../android/habitica/ContentCache.java | 23 +- .../android/habitica/HabiticaApplication.java | 133 ++++--- .../habitica/HabiticaPurchaseVerifier.java | 2 +- .../habitrpg/android/habitica/HostConfig.java | 8 +- .../habitica/NotificationPublisher.java | 6 +- .../callbacks/HabitRPGUserCallback.java | 3 +- .../callbacks/TaskScoringCallback.java | 6 +- .../android/habitica/helpers/TagsHelper.java | 8 +- .../android/habitica/modules/AppModule.java | 9 +- .../habitica/prefs/TimePreference.java | 39 +- .../prefs/scanner/IntentIntegrator.java | 131 ++++--- .../habitica/prefs/scanner/IntentResult.java | 3 +- .../habitica/receivers/TaskReceiver.java | 2 +- .../habitica/ui/AvatarWithBarsViewModel.java | 50 +-- .../android/habitica/ui/TutorialView.java | 12 +- .../habitica/ui/activities/AboutActivity.java | 1 + .../habitica/ui/activities/BaseActivity.java | 8 +- .../ui/activities/ClassSelectionActivity.java | 11 +- .../ui/activities/GroupFormActivity.java | 66 ++-- .../habitica/ui/activities/IntroActivity.java | 24 +- .../habitica/ui/activities/LoginActivity.java | 318 ++++++++-------- .../habitica/ui/activities/MainActivity.java | 136 ++++--- .../ui/activities/MaintenanceActivity.java | 24 +- .../habitica/ui/activities/PrefsActivity.java | 26 +- .../habitica/ui/activities/SetupActivity.java | 38 +- .../ui/activities/SkillTasksActivity.java | 3 +- .../ui/activities/TaskFormActivity.java | 353 ++++++++---------- .../CustomizationRecyclerViewAdapter.java | 117 +++--- .../adapter/FAQOverviewRecyclerAdapter.java | 4 +- .../SkillTasksRecyclerViewAdapter.java | 71 ++-- .../ui/adapter/SkillsRecyclerViewAdapter.java | 5 +- .../EquipmentRecyclerViewAdapter.java | 177 +++++---- .../inventory/ItemRecyclerAdapter.java | 26 +- .../inventory/MountDetailRecyclerAdapter.java | 7 +- .../inventory/PetDetailRecyclerAdapter.java | 7 +- .../inventory/StableRecyclerAdapter.java | 17 +- .../setup/CustomizationSetupAdapter.java | 4 +- .../ui/adapter/setup/TaskSetupAdapter.java | 2 +- .../social/ChatRecyclerViewAdapter.java | 35 +- .../PartyMemberRecyclerViewAdapter.java | 3 +- .../PublicGuildsRecyclerViewAdapter.java | 6 +- .../QuestCollectRecyclerViewAdapter.java | 3 +- .../tasks/BaseTasksRecyclerViewAdapter.java | 12 +- .../ui/adapter/tasks/CheckListAdapter.java | 14 +- .../ui/adapter/tasks/RemindersAdapter.java | 6 +- .../tasks/RewardsRecyclerViewAdapter.java | 3 +- .../habitica/ui/fragments/AboutFragment.java | 24 +- .../habitica/ui/fragments/BaseFragment.java | 50 ++- .../ui/fragments/BaseMainFragment.java | 3 +- .../ui/fragments/GemsPurchaseFragment.java | 40 +- .../habitica/ui/fragments/NewsFragment.java | 3 +- .../ui/fragments/faq/FAQOverviewFragment.java | 50 +-- .../AvatarCustomizationFragment.java | 10 +- .../customization/AvatarOverviewFragment.java | 18 +- .../equipment/EquipmentDetailFragment.java | 4 +- .../inventory/items/ItemRecyclerFragment.java | 10 +- .../inventory/items/ItemsFragment.java | 5 +- .../stable/MountDetailRecyclerFragment.java | 7 +- .../stable/PetDetailRecyclerFragment.java | 8 +- .../stable/StableRecyclerFragment.java | 18 +- .../preferences/PreferencesFragment.java | 38 +- .../fragments/setup/AvatarSetupFragment.java | 14 +- .../ui/fragments/setup/TaskSetupFragment.java | 10 +- .../SkillTasksRecyclerViewFragment.java | 82 ++-- .../ui/fragments/skills/SkillsFragment.java | 21 +- .../ui/fragments/social/ChatListFragment.java | 104 +++--- .../social/GroupInformationFragment.java | 52 +-- .../ui/fragments/social/GuildFragment.java | 34 +- .../social/GuildsOverviewFragment.java | 19 +- .../social/PublicGuildsFragment.java | 13 +- .../ui/fragments/social/TavernFragment.java | 27 +- .../fragments/social/party/PartyFragment.java | 37 +- .../social/party/PartyInviteFragment.java | 4 +- .../social/party/PartyMemberListFragment.java | 9 +- .../tasks/TaskRecyclerViewFragment.java | 36 +- .../ui/fragments/tasks/TasksFragment.java | 33 +- .../android/habitica/ui/helpers/Debounce.java | 4 +- .../habitica/ui/helpers/EmojiKeyboard.java | 20 +- .../helpers/FloatingActionMenuBehavior.java | 38 +- .../habitica/ui/helpers/TaskAlarmManager.java | 13 +- .../android/habitica/ui/helpers/UiUtils.java | 13 +- .../habitica/ui/menu/BottomSheetMenu.java | 2 +- .../habitica/ui/menu/BottomSheetMenuItem.java | 4 +- .../ui/menu/DividerItemDecoration.java | 7 +- .../habitica/ui/menu/MainDrawerBuilder.java | 3 +- .../viewHolders/tasks/BaseTaskViewHolder.java | 4 +- .../tasks/ChecklistedViewHolder.java | 17 +- .../ui/viewHolders/tasks/DailyViewHolder.java | 3 +- .../viewHolders/tasks/RewardViewHolder.java | 12 +- .../habitica/userpicture/BitmapUtils.java | 4 +- .../habitica/userpicture/UserPicture.java | 85 ++--- .../android/habitica/widget/SimpleWidget.java | 35 +- .../habitica/widget/UpdateWidgetService.java | 5 +- .../habitrpgwrapper/lib/api/Server.java | 20 +- .../lib/models/Authentication.java | 17 +- .../lib/models/BasicStats.java | 10 +- .../habitrpgwrapper/lib/models/Buffs.java | 5 +- .../lib/models/ChatMessage.java | 6 +- .../lib/models/ContentGear.java | 2 +- .../lib/models/Customization.java | 121 ++++-- .../lib/models/DefaultResponse.java | 2 +- .../habitrpgwrapper/lib/models/Flags.java | 13 +- .../habitrpgwrapper/lib/models/Gear.java | 9 +- .../lib/models/HabitRPGUser.java | 67 ++-- .../habitrpgwrapper/lib/models/Hair.java | 11 +- .../habitrpgwrapper/lib/models/Items.java | 31 +- .../lib/models/LocalAuthentication.java | 18 +- .../habitrpgwrapper/lib/models/Outfit.java | 72 +++- .../lib/models/PlayerMinStats.java | 11 +- .../lib/models/Preferences.java | 43 +-- .../habitrpgwrapper/lib/models/Profile.java | 11 +- .../lib/models/PurchaseValidationResult.java | 2 +- .../habitrpgwrapper/lib/models/Quest.java | 5 +- .../habitrpgwrapper/lib/models/QuestBoss.java | 35 +- .../lib/models/QuestCollect.java | 11 +- .../lib/models/QuestProgress.java | 14 +- .../habitrpgwrapper/lib/models/Stats.java | 2 +- .../lib/models/SuppressedModals.java | 38 +- .../habitrpgwrapper/lib/models/Tag.java | 10 +- .../lib/models/TaskDirection.java | 4 +- .../lib/models/TaskDirectionData.java | 11 +- .../lib/models/TaskDirectionDataDrop.java | 38 +- .../lib/models/TaskDirectionDataTemp.java | 9 +- .../lib/models/Transaction.java | 3 +- .../lib/models/TutorialStep.java | 6 +- .../habitrpgwrapper/lib/models/UserAuth.java | 8 +- .../lib/models/tasks/ChecklistItem.java | 52 ++- .../lib/models/tasks/Days.java | 38 +- .../lib/models/tasks/ItemData.java | 14 +- .../lib/models/tasks/RemindersItem.java | 26 +- .../lib/models/tasks/Task.java | 167 +++++---- .../lib/models/tasks/TaskTag.java | 17 +- .../lib/utils/ChatMessageDeserializer.java | 3 +- .../lib/utils/ContentDeserializer.java | 45 ++- .../lib/utils/CustomizationDeserializer.java | 4 +- .../habitrpgwrapper/lib/utils/DaysUtils.java | 2 +- .../lib/utils/EggListDeserializer.java | 4 +- .../lib/utils/FoodListDeserializer.java | 4 +- .../lib/utils/GroupSerialization.java | 5 +- .../utils/HatchingPotionListDeserializer.java | 4 +- .../lib/utils/ItemDataListDeserializer.java | 4 +- .../lib/utils/MountListDeserializer.java | 2 +- .../lib/utils/PetListDeserializer.java | 2 +- .../lib/utils/PurchasedDeserializer.java | 4 +- .../lib/utils/QuestListDeserializer.java | 4 +- .../lib/utils/SkillDeserializer.java | 6 +- .../lib/utils/TaskTagDeserializer.java | 7 +- 148 files changed, 2136 insertions(+), 2033 deletions(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/APIHelper.java b/Habitica/src/main/java/com/habitrpg/android/habitica/APIHelper.java index 0f2ed3ec9..c002c2eca 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/APIHelper.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/APIHelper.java @@ -107,15 +107,13 @@ public class APIHelper implements Action1 { // I think we don't need the APIHelper anymore we could just use ApiService public final ApiService apiService; + final Observable.Transformer apiCallTransformer = + observable -> ((Observable) observable).subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .doOnError(this); private final GsonConverterFactory gsonConverter; private final HostConfig hostConfig; private final Retrofit retrofitAdapter; - - final Observable.Transformer apiCallTransformer = - observable -> ((Observable)observable).subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .doOnError(this); - private AlertDialog displayedAlert; //private OnHabitsAPIResult mResultListener; @@ -186,18 +184,30 @@ public class APIHelper implements Action1 { } public static GsonConverterFactory createGsonFactory() { - Type taskTagClassListType = new TypeToken>() {}.getType(); - Type skillListType = new TypeToken>() {}.getType(); - Type customizationListType = new TypeToken>() {}.getType(); - Type tutorialStepListType = new TypeToken>() {}.getType(); - Type faqArticleListType = new TypeToken>() {}.getType(); - Type itemDataListType = new TypeToken>() {}.getType(); - Type eggListType = new TypeToken>() {}.getType(); - Type foodListType = new TypeToken>() {}.getType(); - Type hatchingPotionListType = new TypeToken>() {}.getType(); - Type questContentListType = new TypeToken>() {}.getType(); - Type petListType = new TypeToken>() {}.getType(); - Type mountListType = new TypeToken>() {}.getType(); + Type taskTagClassListType = new TypeToken>() { + }.getType(); + Type skillListType = new TypeToken>() { + }.getType(); + Type customizationListType = new TypeToken>() { + }.getType(); + Type tutorialStepListType = new TypeToken>() { + }.getType(); + Type faqArticleListType = new TypeToken>() { + }.getType(); + Type itemDataListType = new TypeToken>() { + }.getType(); + Type eggListType = new TypeToken>() { + }.getType(); + Type foodListType = new TypeToken>() { + }.getType(); + Type hatchingPotionListType = new TypeToken>() { + }.getType(); + Type questContentListType = new TypeToken>() { + }.getType(); + Type petListType = new TypeToken>() { + }.getType(); + Type mountListType = new TypeToken>() { + }.getType(); //Exclusion strategy needed for DBFlow https://github.com/Raizlabs/DBFlow/issues/121 Gson gson = new GsonBuilder() @@ -258,15 +268,15 @@ public class APIHelper implements Action1 { return this.apiService.connectLocal(auth); } - public Observable connectSocial(String userId, String accessToken) { - UserAuthSocial auth = new UserAuthSocial(); - auth.setNetwork("facebook"); + public Observable connectSocial(String userId, String accessToken) { + UserAuthSocial auth = new UserAuthSocial(); + auth.setNetwork("facebook"); UserAuthSocialTokens authResponse = new UserAuthSocialTokens(); authResponse.setClient_id(userId); authResponse.setAccess_token(accessToken); auth.setAuthResponse(authResponse); - return this.apiService.connectSocial(auth); - } + return this.apiService.connectSocial(auth); + } @Override public void call(Throwable throwable) { @@ -276,7 +286,7 @@ public class APIHelper implements Action1 { } else if (throwableClass.equals(SocketTimeoutException.class) || throwableClass.equals(UnknownHostException.class)) { this.showConnectionProblemDialog(R.string.network_error_no_network_body); } else if (throwableClass.equals(HttpException.class)) { - HttpException error = (HttpException)throwable; + HttpException error = (HttpException) throwable; retrofit2.Response response = error.response(); ErrorResponse res = null; @@ -291,7 +301,7 @@ public class APIHelper implements Action1 { int status = error.code(); if (status == 401) { - if(res != null && res.message != null && !res.message.isEmpty()) { + if (res != null && res.message != null && !res.message.isEmpty()) { showConnectionProblemDialog("", res.message); } else { showConnectionProblemDialog(R.string.authentication_error_title, R.string.authentication_error_body); @@ -300,7 +310,7 @@ public class APIHelper implements Action1 { } else if (status >= 500 && status < 600) { this.showConnectionProblemDialog(R.string.internal_error_api); } else if (status == 400) { - if(res != null && res.message != null && !res.message.isEmpty()) { + if (res != null && res.message != null && !res.message.isEmpty()) { showConnectionProblemDialog("", res.message); } } else { @@ -327,7 +337,7 @@ public class APIHelper implements Action1 { return userObservable; } - private List sortTasks(Map taskMap, List taskOrder){ + private List sortTasks(Map taskMap, List taskOrder) { List taskList = new ArrayList<>(); int position = 0; for (String taskId : taskOrder) { @@ -345,10 +355,6 @@ public class APIHelper implements Action1 { return this.hostConfig.getUser() != null; } - public class ErrorResponse{ - public String message; - } - private void showConnectionProblemDialog(final int resourceMessageString) { showConnectionProblemDialog(R.string.network_error_title, resourceMessageString); } @@ -360,7 +366,7 @@ public class APIHelper implements Action1 { } } - private void showConnectionProblemDialog(final String resourceTitleString, final String resourceMessageString){ + private void showConnectionProblemDialog(final String resourceTitleString, final String resourceMessageString) { HabiticaApplication.currentActivity.runOnUiThread(() -> { if (!(HabiticaApplication.currentActivity).isFinishing() && displayedAlert == null) { AlertDialog.Builder builder = new AlertDialog.Builder(HabiticaApplication.currentActivity) @@ -380,7 +386,7 @@ public class APIHelper implements Action1 { } public PurchaseValidationResult validatePurchase(PurchaseValidationRequest request) throws IOException { - Call response = apiService.validatePurchase(request); + Call response = apiService.validatePurchase(request); return response.execute().body(); } @@ -396,4 +402,8 @@ public class APIHelper implements Action1 { Crashlytics.getInstance().core.setUserName(this.hostConfig.getUser()); Amplitude.getInstance().setUserId(this.hostConfig.getUser()); } + + public class ErrorResponse { + public String message; + } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ContentCache.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ContentCache.java index b7547d700..dc8c09b25 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ContentCache.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ContentCache.java @@ -18,15 +18,6 @@ import rx.schedulers.Schedulers; public class ContentCache { - public interface GotContentEntryCallback { - void GotObject(T obj); - } - - public interface QuestContentCallback { - void GotQuest(QuestContent content); - } - - private ApiService apiService; public ContentCache(ApiService apiService) { @@ -120,7 +111,8 @@ public class ContentCache { break; } } - }, throwable -> {}); + }, throwable -> { + }); } private void getContentAndSearchForList(final String typeOfSearch, final List searchKeys, final GotContentEntryCallback> gotEntry) { @@ -135,6 +127,15 @@ public class ContentCache { .filter(item -> searchKeys.contains(item.key)) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) - .subscribe(resultList::add, throwable -> {}, () -> gotEntry.GotObject(resultList)); + .subscribe(resultList::add, throwable -> { + }, () -> gotEntry.GotObject(resultList)); + } + + public interface GotContentEntryCallback { + void GotObject(T obj); + } + + public interface QuestContentCallback { + void GotQuest(QuestContent content); } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaApplication.java b/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaApplication.java index 38e3dfc02..b84d527d5 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaApplication.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaApplication.java @@ -50,15 +50,73 @@ public class HabiticaApplication extends MultiDexApplication { public static HabitRPGUser User; public static APIHelper ApiHelper; public static Activity currentActivity = null; - private AppComponent component; - @Inject Lazy lazyApiHelper; + private AppComponent component; + /** + * For better performance billing class should be used as singleton + */ + @NonNull + private Billing billing; + /** + * Application wide {@link org.solovyev.android.checkout.Checkout} instance (can be used + * anywhere in the app). + * This instance contains all available products in the app. + */ + @NonNull + private Checkout checkout; public static HabiticaApplication getInstance(Context context) { return (HabiticaApplication) context.getApplicationContext(); } + public static boolean exists(@NonNull Context context) { + try { + File dbFile = context.getDatabasePath(String.format("%s.db", HabitDatabase.NAME)); + return dbFile.exists(); + } catch (Exception exception) { + Log.e("DbExists", "Database %s doesn't exist.", exception); + return false; + } + } + + private static void setFinalStatic(Field field, Object newValue) throws NoSuchFieldException, IllegalAccessException { + field.setAccessible(true); + field.set(null, newValue); + } + + public static void logout(Context context) { + getInstance(context).deleteDatabase(HabitDatabase.NAME); + SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); + boolean use_reminder = preferences.getBoolean("use_reminder", false); + String reminder_time = preferences.getString("reminder_time", "19:00"); + SharedPreferences.Editor editor = preferences.edit(); + editor.clear(); + editor.putBoolean("use_reminder", use_reminder); + editor.putString("reminder_time", reminder_time); + editor.apply(); + getInstance(context).lazyApiHelper.get().updateAuthenticationCredentials(null, null); + startActivity(LoginActivity.class, context); + } + + public static boolean checkUserAuthentication(Context context, HostConfig hostConfig) { + if (hostConfig == null || hostConfig.getApi() == null || hostConfig.getApi().equals("") || hostConfig.getUser() == null || hostConfig.getUser().equals("")) { + startActivity(IntroActivity.class, context); + + return false; + } + + return true; + } + + private static void startActivity(Class activityClass, Context context) { + Intent intent = new Intent(context, activityClass); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); + context.startActivity(intent); + } + + // region SQLite overrides + @Override public void onCreate() { super.onCreate(); @@ -136,14 +194,12 @@ public class HabiticaApplication extends MultiDexApplication { @Override public void onActivityDestroyed(Activity activity) { - if(currentActivity == activity) + if (currentActivity == activity) currentActivity = null; } }); } - // region SQLite overrides - @Override public SQLiteDatabase openOrCreateDatabase(String name, int mode, SQLiteDatabase.CursorFactory factory) { @@ -182,6 +238,10 @@ public class HabiticaApplication extends MultiDexApplication { return deleted; } + // endregion + + // region IAP - Specific + // Hack for DBFlow - Not deleting Database // https://github.com/kaeawc/dbflow-sample-app/blob/master/app/src/main/java/io/kaeawc/flow/app/ui/MainActivityFragment.java#L201 private void reflectionHack(@NonNull Context context) { @@ -204,60 +264,11 @@ public class HabiticaApplication extends MultiDexApplication { } } - public static boolean exists(@NonNull Context context) { - try { - File dbFile = context.getDatabasePath(String.format("%s.db", HabitDatabase.NAME)); - return dbFile.exists(); - } catch (Exception exception) { - Log.e("DbExists", "Database %s doesn't exist.", exception); - return false; - } - } - - private static void setFinalStatic(Field field, Object newValue) throws NoSuchFieldException, IllegalAccessException { - field.setAccessible(true); - field.set(null, newValue); - } - @Override public File getDatabasePath(String name) { return new File(getExternalFilesDir(null), "HabiticaDatabase/" + name); } - public static void logout(Context context) { - getInstance(context).deleteDatabase(HabitDatabase.NAME); - SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); - boolean use_reminder = preferences.getBoolean("use_reminder", false); - String reminder_time = preferences.getString("reminder_time", "19:00"); - SharedPreferences.Editor editor = preferences.edit(); - editor.clear(); - editor.putBoolean("use_reminder", use_reminder); - editor.putString("reminder_time", reminder_time); - editor.apply(); - getInstance(context).lazyApiHelper.get().updateAuthenticationCredentials(null, null); - startActivity(LoginActivity.class, context); - } - - public static boolean checkUserAuthentication(Context context, HostConfig hostConfig) { - if (hostConfig == null || hostConfig.getApi() == null || hostConfig.getApi().equals("") || hostConfig.getUser() == null || hostConfig.getUser().equals("")) { - startActivity(IntroActivity.class, context); - - return false; - } - - return true; - } - - private static void startActivity(Class activityClass, Context context) { - Intent intent = new Intent(context, activityClass); - intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); - context.startActivity(intent); - } - - // endregion - - // region IAP - Specific - private void createBillingAndCheckout() { billing = new Billing(this, new Billing.DefaultConfiguration() { @NonNull @@ -281,20 +292,6 @@ public class HabiticaApplication extends MultiDexApplication { checkout = Checkout.forApplication(billing, Products.create().add(ProductTypes.IN_APP, Arrays.asList(Purchase20Gems))); } - /** - * For better performance billing class should be used as singleton - */ - @NonNull - private Billing billing; - - /** - * Application wide {@link org.solovyev.android.checkout.Checkout} instance (can be used anywhere in the app). - * This instance contains all available products in the app. - */ - @NonNull - private Checkout checkout; - - @NonNull public Checkout getCheckout() { return checkout; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaPurchaseVerifier.java b/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaPurchaseVerifier.java index b43f3f113..ceaea0d0d 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaPurchaseVerifier.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaPurchaseVerifier.java @@ -23,8 +23,8 @@ import java.util.Set; */ public class HabiticaPurchaseVerifier extends BasePurchaseVerifier { - private Set purchasedOrderList = new HashSet<>(); private static final String PURCHASED_PRODUCTS_KEY = "PURCHASED_PRODUCTS"; + private Set purchasedOrderList = new HashSet<>(); private SharedPreferences preferences; public HabiticaPurchaseVerifier(Context context) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/HostConfig.java b/Habitica/src/main/java/com/habitrpg/android/habitica/HostConfig.java index 77a27518f..66c37f919 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/HostConfig.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/HostConfig.java @@ -7,6 +7,7 @@ import android.preference.PreferenceManager; /** * The configuration of the host
* Currently, the Port isn't used at all. + * * @author MagicMicky */ public class HostConfig { @@ -25,10 +26,11 @@ public class HostConfig { /** * Create a new HostConfig + * * @param address the address of the server - * @param port the port of the server - * @param api the API token of the user - * @param user the user ID + * @param port the port of the server + * @param api the API token of the user + * @param user the user ID */ public HostConfig(String address, String port, String api, String user) { this.setAddress(address); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/NotificationPublisher.java b/Habitica/src/main/java/com/habitrpg/android/habitica/NotificationPublisher.java index ed6e487b2..61788ad8d 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/NotificationPublisher.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/NotificationPublisher.java @@ -48,7 +48,7 @@ public class NotificationPublisher extends BroadcastReceiver { } } if (show_notification) { - NotificationManager notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); + NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); int id = intent.getIntExtra(NOTIFICATION_ID, 0); notificationManager.notify(id, notification); @@ -77,9 +77,9 @@ public class NotificationPublisher extends BroadcastReceiver { builder.setColor(ContextCompat.getColor(context, R.color.brand_300)); } - if (currentapiVersion >= Build.VERSION_CODES.JELLY_BEAN){ + if (currentapiVersion >= Build.VERSION_CODES.JELLY_BEAN) { notification = builder.build(); - } else{ + } else { notification = builder.getNotification(); } notification.defaults |= Notification.DEFAULT_LIGHTS; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/HabitRPGUserCallback.java b/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/HabitRPGUserCallback.java index 02bb362bd..8b09aaec0 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/HabitRPGUserCallback.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/HabitRPGUserCallback.java @@ -4,7 +4,8 @@ import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser; import rx.functions.Action1; -/**r +/** + * r * Created by magicmicky on 18/02/15. */ public class HabitRPGUserCallback implements Action1 { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/TaskScoringCallback.java b/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/TaskScoringCallback.java index 16f4d93a0..88a288560 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/TaskScoringCallback.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/TaskScoringCallback.java @@ -33,7 +33,7 @@ public class TaskScoringCallback implements Action1 { .querySingle(new TransactionListener() { @Override public void onResultReceived(Task task) { - if(task != null && task.type != null && !task.type.equals("reward")) { + if (task != null && task.type != null && !task.type.equals("reward")) { task.value = task.value + taskDirectionData.getDelta(); task.save(); @@ -76,8 +76,8 @@ public class TaskScoringCallback implements Action1 { @Override public void onResultReceived(Object result) { if (result != null) { - Item item = (Item)result; - item.setOwned(item.getOwned()+1); + Item item = (Item) result; + item.setOwned(item.getOwned() + 1); item.save(); } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/TagsHelper.java b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/TagsHelper.java index e5b724911..4d8ae44f0 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/TagsHelper.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/TagsHelper.java @@ -16,10 +16,6 @@ public class TagsHelper { } - public void setTags(List tagsId) { - this.tagsId = tagsId; - } - public void addTags(String tags) { this.tagsId.add(tags); } @@ -32,6 +28,10 @@ public class TagsHelper { return this.tagsId; } + public void setTags(List tagsId) { + this.tagsId = tagsId; + } + public boolean isTagChecked(String tagID) { return this.tagsId.contains(tagID); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/modules/AppModule.java b/Habitica/src/main/java/com/habitrpg/android/habitica/modules/AppModule.java index f2132c269..59826439e 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/modules/AppModule.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/modules/AppModule.java @@ -29,17 +29,20 @@ public class AppModule { return application; } - @Provides @Singleton + @Provides + @Singleton public SharedPreferences provideSharedPreferences(Context context) { return PreferenceManager.getDefaultSharedPreferences(context); } - @Provides @Named("UserID") + @Provides + @Named("UserID") public String providesUserID(SharedPreferences sharedPreferences) { return sharedPreferences.getString(application.getString(R.string.SP_userID), null); } - @Provides @Singleton + @Provides + @Singleton public TagsHelper providesTagsHelper() { return new TagsHelper(); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/prefs/TimePreference.java b/Habitica/src/main/java/com/habitrpg/android/habitica/prefs/TimePreference.java index 84c19f9ff..06e737331 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/prefs/TimePreference.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/prefs/TimePreference.java @@ -8,6 +8,13 @@ import android.util.AttributeSet; public class TimePreference extends DialogPreference { private String timeval; + public TimePreference(Context ctxt, AttributeSet attrs) { + super(ctxt, attrs); + + setPositiveButtonText("Set"); + setNegativeButtonText("Cancel"); + } + public static int getHour(String timeval) { String[] pieces = timeval.split(":"); return (Integer.parseInt(pieces[0])); @@ -18,14 +25,6 @@ public class TimePreference extends DialogPreference { return (Integer.parseInt(pieces[1])); } - - public TimePreference(Context ctxt, AttributeSet attrs) { - super(ctxt, attrs); - - setPositiveButtonText("Set"); - setNegativeButtonText("Cancel"); - } - @Override protected Object onGetDefaultValue(TypedArray a, int index) { return (a.getString(index)); @@ -47,6 +46,18 @@ public class TimePreference extends DialogPreference { setSummary(timeval); } + public int getLastHour() { + return getHour(timeval); + } + + public int getLastMinute() { + return getMinute(timeval); + } + + public String getText() { + return timeval; + } + public void setText(String text) { final boolean wasBlocking = shouldDisableDependents(); @@ -59,16 +70,4 @@ public class TimePreference extends DialogPreference { notifyDependencyChange(isBlocking); } } - - public int getLastHour() { - return getHour(timeval); - } - - public int getLastMinute() { - return getMinute(timeval); - } - - public String getText() { - return timeval; - } } \ No newline at end of file diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/prefs/scanner/IntentIntegrator.java b/Habitica/src/main/java/com/habitrpg/android/habitica/prefs/scanner/IntentIntegrator.java index 3e937c68d..ed85e34dc 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/prefs/scanner/IntentIntegrator.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/prefs/scanner/IntentIntegrator.java @@ -34,24 +34,29 @@ import java.util.List; import java.util.Map; /** - *

A utility class which helps ease integration with Barcode Scanner via {@link Intent}s. This is a simple - * way to invoke barcode scanning and receive the result, without any need to integrate, modify, or learn the + *

A utility class which helps ease integration with Barcode Scanner via {@link Intent}s. This is + * a simple + * way to invoke barcode scanning and receive the result, without any need to integrate, modify, or + * learn the * project's source code.

*

*

Initiating a barcode scan

*

- *

To integrate, create an instance of {@code IntentIntegrator} and call {@link #initiateScan()} and wait + *

To integrate, create an instance of {@code IntentIntegrator} and call {@link #initiateScan()} + * and wait * for the result in your app.

*

*

It does require that the Barcode Scanner (or work-alike) application is installed. The * {@link #initiateScan()} method will prompt the user to download the application, if needed.

*

*

There are a few steps to using this integration. First, your {@link Activity} must implement - * the method {@link Activity#onActivityResult(int, int, Intent)} and include a line of code like this:

+ * the method {@link Activity#onActivityResult(int, int, Intent)} and include a line of code like + * this:

*

*

{@code
  * public void onActivityResult(int requestCode, int resultCode, Intent intent) {
- *   IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
+ *   IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode,
+ * intent);
  *   if (scanResult != null) {
  *     // handle scan result
  *   }
@@ -70,31 +75,42 @@ import java.util.Map;
  * }
*

*

Note that {@link #initiateScan()} returns an {@link AlertDialog} which is non-null if the - * user was prompted to download the application. This lets the calling app potentially manage the dialog. - * In particular, ideally, the app dismisses the dialog if it's still active in its {@link Activity#onPause()} + * user was prompted to download the application. This lets the calling app potentially manage the + * dialog. + * In particular, ideally, the app dismisses the dialog if it's still active in its {@link + * Activity#onPause()} * method.

*

- *

You can use {@link #setTitle(String)} to customize the title of this download prompt dialog (or, use - * {@link #setTitleByID(int)} to set the title by string resource ID.) Likewise, the prompt message, and + *

You can use {@link #setTitle(String)} to customize the title of this download prompt dialog + * (or, use + * {@link #setTitleByID(int)} to set the title by string resource ID.) Likewise, the prompt message, + * and * yes/no button labels can be changed.

*

- *

Finally, you can use {@link #addExtra(String, Object)} to add more parameters to the Intent used + *

Finally, you can use {@link #addExtra(String, Object)} to add more parameters to the Intent + * used * to invoke the scanner. This can be used to set additional options not directly exposed by this * simplified API.

*

- *

By default, this will only allow applications that are known to respond to this intent correctly - * do so. The apps that are allowed to response can be set with {@link #setTargetApplications(List)}. - * For example, set to {@link #TARGET_BARCODE_SCANNER_ONLY} to only target the Barcode Scanner app itself.

+ *

By default, this will only allow applications that are known to respond to this intent + * correctly + * do so. The apps that are allowed to response can be set with {@link + * #setTargetApplications(List)}. + * For example, set to {@link #TARGET_BARCODE_SCANNER_ONLY} to only target the Barcode Scanner app + * itself.

*

*

Sharing text via barcode

*

- *

To share text, encoded as a QR Code on-screen, similarly, see {@link #shareText(CharSequence)}.

+ *

To share text, encoded as a QR Code on-screen, similarly, see {@link + * #shareText(CharSequence)}.

*

- *

Some code, particularly download integration, was contributed from the Anobiit application.

+ *

Some code, particularly download integration, was contributed from the Anobiit + * application.

*

*

Enabling experimental barcode formats

*

- *

Some formats are not enabled by default even when scanning with {@link #ALL_CODE_TYPES}, such as + *

Some formats are not enabled by default even when scanning with {@link #ALL_CODE_TYPES}, such + * as * PDF417. Use {@link #initiateScan(java.util.Collection)} with * a collection containing the names of formats to scan for explicitly, like "PDF_417", to use such * formats.

@@ -108,17 +124,11 @@ import java.util.Map; public class IntentIntegrator { public static final int REQUEST_CODE = 0x0000c0de; // Only use bottom 16 bits - private static final String TAG = IntentIntegrator.class.getSimpleName(); - public static final String DEFAULT_TITLE = "Install Barcode Scanner?"; public static final String DEFAULT_MESSAGE = "This application requires Barcode Scanner. Would you like to install it?"; public static final String DEFAULT_YES = "Yes"; public static final String DEFAULT_NO = "No"; - - private static final String BS_PACKAGE = "com.google.zxing.client.android"; - private static final String BSPLUS_PACKAGE = "com.srowen.bs.android"; - // supported barcode formats public static final Collection PRODUCT_CODE_TYPES = list("UPC_A", "UPC_E", "EAN_8", "EAN_13", "RSS_14"); public static final Collection ONE_D_CODE_TYPES = @@ -126,10 +136,11 @@ public class IntentIntegrator { "ITF", "RSS_14", "RSS_EXPANDED"); public static final Collection QR_CODE_TYPES = Collections.singleton("QR_CODE"); public static final Collection DATA_MATRIX_TYPES = Collections.singleton("DATA_MATRIX"); - public static final Collection ALL_CODE_TYPES = null; - + private static final String TAG = IntentIntegrator.class.getSimpleName(); + private static final String BS_PACKAGE = "com.google.zxing.client.android"; public static final List TARGET_BARCODE_SCANNER_ONLY = Collections.singletonList(BS_PACKAGE); + private static final String BSPLUS_PACKAGE = "com.srowen.bs.android"; public static final List TARGET_ALL_KNOWN = list( BS_PACKAGE, // Barcode Scanner BSPLUS_PACKAGE, // Barcode Scanner+ @@ -138,12 +149,12 @@ public class IntentIntegrator { ); private final Activity activity; + private final Map moreExtras; private String title; private String message; private String buttonYes; private String buttonNo; private List targetApplications; - private final Map moreExtras; public IntentIntegrator(Activity activity) { this.activity = activity; @@ -155,6 +166,39 @@ public class IntentIntegrator { moreExtras = new HashMap(3); } + /** + *

Call this from your {@link Activity}'s + * {@link Activity#onActivityResult(int, int, Intent)} method.

+ * + * @return null if the event handled here was not related to this class, or + * else an {@link IntentResult} containing the result of the scan. If the user cancelled + * scanning, + * the fields will be null. + */ + public static IntentResult parseActivityResult(int requestCode, int resultCode, Intent intent) { + if (requestCode == REQUEST_CODE) { + if (resultCode == Activity.RESULT_OK) { + String contents = intent.getStringExtra("SCAN_RESULT"); + String formatName = intent.getStringExtra("SCAN_RESULT_FORMAT"); + byte[] rawBytes = intent.getByteArrayExtra("SCAN_RESULT_BYTES"); + int intentOrientation = intent.getIntExtra("SCAN_RESULT_ORIENTATION", Integer.MIN_VALUE); + Integer orientation = intentOrientation == Integer.MIN_VALUE ? null : intentOrientation; + String errorCorrectionLevel = intent.getStringExtra("SCAN_RESULT_ERROR_CORRECTION_LEVEL"); + return new IntentResult(contents, + formatName, + rawBytes, + orientation, + errorCorrectionLevel); + } + return new IntentResult(); + } + return null; + } + + private static List list(String... values) { + return Collections.unmodifiableList(Arrays.asList(values)); + } + public String getTitle() { return title; } @@ -318,36 +362,6 @@ public class IntentIntegrator { return downloadDialog.show(); } - - /** - *

Call this from your {@link Activity}'s - * {@link Activity#onActivityResult(int, int, Intent)} method.

- * - * @return null if the event handled here was not related to this class, or - * else an {@link IntentResult} containing the result of the scan. If the user cancelled scanning, - * the fields will be null. - */ - public static IntentResult parseActivityResult(int requestCode, int resultCode, Intent intent) { - if (requestCode == REQUEST_CODE) { - if (resultCode == Activity.RESULT_OK) { - String contents = intent.getStringExtra("SCAN_RESULT"); - String formatName = intent.getStringExtra("SCAN_RESULT_FORMAT"); - byte[] rawBytes = intent.getByteArrayExtra("SCAN_RESULT_BYTES"); - int intentOrientation = intent.getIntExtra("SCAN_RESULT_ORIENTATION", Integer.MIN_VALUE); - Integer orientation = intentOrientation == Integer.MIN_VALUE ? null : intentOrientation; - String errorCorrectionLevel = intent.getStringExtra("SCAN_RESULT_ERROR_CORRECTION_LEVEL"); - return new IntentResult(contents, - formatName, - rawBytes, - orientation, - errorCorrectionLevel); - } - return new IntentResult(); - } - return null; - } - - /** * Defaults to type "TEXT_TYPE". * @@ -362,7 +376,8 @@ public class IntentIntegrator { * scan the text off the screen of the device. * * @param text the text string to encode as a barcode - * @param type type of data to encode. See {@code com.google.zxing.client.android.Contents.Type} constants. + * @param type type of data to encode. See {@code com.google.zxing.client.android.Contents.Type} + * constants. * @return the {@link AlertDialog} that was shown to the user prompting them to download the app * if a prompt was needed, or null otherwise */ @@ -384,10 +399,6 @@ public class IntentIntegrator { return null; } - private static List list(String... values) { - return Collections.unmodifiableList(Arrays.asList(values)); - } - private void attachMoreExtras(Intent intent) { for (Map.Entry entry : moreExtras.entrySet()) { String key = entry.getKey(); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/prefs/scanner/IntentResult.java b/Habitica/src/main/java/com/habitrpg/android/habitica/prefs/scanner/IntentResult.java index df88f4305..0c0942270 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/prefs/scanner/IntentResult.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/prefs/scanner/IntentResult.java @@ -52,7 +52,8 @@ public final class IntentResult { } /** - * @return name of format, like "QR_CODE", "UPC_A". See {@code BarcodeFormat} for more format names. + * @return name of format, like "QR_CODE", "UPC_A". See {@code BarcodeFormat} for more format + * names. */ public String getFormatName() { return formatName; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/receivers/TaskReceiver.java b/Habitica/src/main/java/com/habitrpg/android/habitica/receivers/TaskReceiver.java index 8e4aaef56..e121e38d4 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/receivers/TaskReceiver.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/receivers/TaskReceiver.java @@ -15,7 +15,7 @@ import android.os.Bundle; /** * Created by keithholliday on 5/29/16. */ -public class TaskReceiver extends BroadcastReceiver { +public class TaskReceiver extends BroadcastReceiver { private Context context; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/AvatarWithBarsViewModel.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/AvatarWithBarsViewModel.java index f29910609..a82a4a0f0 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/AvatarWithBarsViewModel.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/AvatarWithBarsViewModel.java @@ -69,6 +69,27 @@ public class AvatarWithBarsViewModel implements View.OnClickListener { gemsText.setOnClickListener(this); } + public static void setHpBarData(ValueBarBinding valueBar, Stats stats, Context ctx) { + Integer maxHP = stats.getMaxHealth(); + if (maxHP == null || maxHP == 0) { + maxHP = 50; + } + + setValueBar(valueBar, (float) Math.ceil(stats.getHp().floatValue()), maxHP, ctx.getString(R.string.HP_default), ContextCompat.getColor(ctx, R.color.hpColor), R.drawable.ic_header_heart); + } + + // Layout_Weight don't accepts 0.7/0.3 to have 70% filled instead it shows the 30% , so I had to switch the values + // but on a 1.0/0.0 which switches to 0.0/1.0 it shows the blank part full size... + private static void setValueBar(ValueBarBinding valueBar, float value, float valueMax, String description, int color, int icon) { + double percent = Math.min(1, value / valueMax); + + valueBar.setWeightToShow((float) percent); + valueBar.setText((int) value + "/" + (int) valueMax); + valueBar.setDescription(description); + valueBar.setBarForegroundColor(color); + valueBar.icHeader.setImageResource(icon); + } + @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) public void updateData(HabitRPGUser user) { userObject = user; @@ -132,16 +153,7 @@ public class AvatarWithBarsViewModel implements View.OnClickListener { gemsText.setText(String.valueOf(gems.intValue())); } - public static void setHpBarData(ValueBarBinding valueBar, Stats stats, Context ctx) { - Integer maxHP = stats.getMaxHealth(); - if (maxHP == null || maxHP == 0) { - maxHP = 50; - } - - setValueBar(valueBar, (float) Math.ceil(stats.getHp().floatValue()), maxHP, ctx.getString(R.string.HP_default), ContextCompat.getColor(ctx, R.color.hpColor), R.drawable.ic_header_heart); - } - - public void setHpBarData(float value, int valueMax){ + public void setHpBarData(float value, int valueMax) { if (valueMax == 0) { valueMax = cachedMaxHealth; } else { @@ -150,7 +162,7 @@ public class AvatarWithBarsViewModel implements View.OnClickListener { setValueBar(hpBar, (float) Math.ceil(value), valueMax, context.getString(R.string.HP_default), ContextCompat.getColor(context, R.color.hpColor), R.drawable.ic_header_heart); } - public void setXpBarData(float value, int valueMax){ + public void setXpBarData(float value, int valueMax) { if (valueMax == 0) { valueMax = cachedMaxExp; } else { @@ -159,7 +171,7 @@ public class AvatarWithBarsViewModel implements View.OnClickListener { setValueBar(xpBar, (float) Math.floor(value), valueMax, context.getString(R.string.XP_default), ContextCompat.getColor(context, R.color.xpColor), R.drawable.ic_header_exp); } - public void setMpBarData(float value, int valueMax){ + public void setMpBarData(float value, int valueMax) { if (valueMax == 0) { valueMax = cachedMaxMana; } else { @@ -168,20 +180,8 @@ public class AvatarWithBarsViewModel implements View.OnClickListener { setValueBar(mpBar, (float) Math.floor(value), valueMax, context.getString(R.string.MP_default), ContextCompat.getColor(context, R.color.mpColor), R.drawable.ic_header_magic); } - // Layout_Weight don't accepts 0.7/0.3 to have 70% filled instead it shows the 30% , so I had to switch the values - // but on a 1.0/0.0 which switches to 0.0/1.0 it shows the blank part full size... - private static void setValueBar(ValueBarBinding valueBar, float value, float valueMax, String description, int color, int icon) { - double percent = Math.min(1, value / valueMax); - - valueBar.setWeightToShow((float) percent); - valueBar.setText((int) value + "/" + (int) valueMax); - valueBar.setDescription(description); - valueBar.setBarForegroundColor(color); - valueBar.icHeader.setImageResource(icon); - } - @Subscribe - public void onEvent(BoughtGemsEvent gemsEvent){ + public void onEvent(BoughtGemsEvent gemsEvent) { Double gems = userObject.getBalance() * 4; gems += gemsEvent.NewGemsToAdd; gemsText.setText(String.valueOf(gems.intValue())); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/TutorialView.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/TutorialView.java index 3a35c3b52..00befe80b 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/TutorialView.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/TutorialView.java @@ -16,24 +16,20 @@ import butterknife.ButterKnife; public class TutorialView extends FrameLayout implements View.OnClickListener { + public TutorialStep step; + public OnTutorialReaction onReaction; @BindView(R.id.tutorialTextView) TextView tutorialTextView; - @BindView(R.id.background) RelativeLayout background; - @BindView(R.id.dismissButton) Button dismissButton; - @BindView(R.id.completeButton) Button completeButton; - public TutorialStep step; - public OnTutorialReaction onReaction; - public TutorialView(Context context, TutorialStep step, OnTutorialReaction onReaction) { super(context); - LayoutInflater mInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); mInflater.inflate(R.layout.overlay_tutorial, this, true); ButterKnife.bind(this); background.setOnClickListener(this); @@ -51,7 +47,7 @@ public class TutorialView extends FrameLayout implements View.OnClickListener { public void onClick(View v) { if (v == background || v == completeButton) { this.onReaction.onTutorialCompleted(this.step); - } else if (v == dismissButton){ + } else if (v == dismissButton) { this.onReaction.onTutorialDeferred(this.step); } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/AboutActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/AboutActivity.java index 8b106f40a..0fa122de6 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/AboutActivity.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/AboutActivity.java @@ -71,6 +71,7 @@ public class AboutActivity extends BaseActivity { tabLayout.setupWithViewPager(pager); } + @Override protected void injectActivity(AppComponent component) { component.inject(this); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/BaseActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/BaseActivity.java index 8e9f05328..c6d2afd44 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/BaseActivity.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/BaseActivity.java @@ -12,11 +12,11 @@ import butterknife.ButterKnife; public abstract class BaseActivity extends AppCompatActivity { - protected abstract int getLayoutResId(); - private boolean destroyed; - public boolean isDestroyed(){ + protected abstract int getLayoutResId(); + + public boolean isDestroyed() { return destroyed; } @@ -52,6 +52,6 @@ public abstract class BaseActivity extends AppCompatActivity { } public HabiticaApplication getHabiticaApplication() { - return (HabiticaApplication)getApplication(); + return (HabiticaApplication) getApplication(); } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ClassSelectionActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ClassSelectionActivity.java index b4a85988b..c0e6eb99c 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ClassSelectionActivity.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ClassSelectionActivity.java @@ -103,8 +103,9 @@ public class ClassSelectionActivity extends BaseActivity implements Action1 { - classWasUnset = true; - }, throwable -> {}); + classWasUnset = true; + }, throwable -> { + }); } } @@ -179,7 +180,8 @@ public class ClassSelectionActivity extends BaseActivity implements Action1 {}); + .subscribe(this, throwable -> { + }); } private void selectClass(String selectedClass) { @@ -187,7 +189,8 @@ public class ClassSelectionActivity extends BaseActivity implements Action1 {}); + .subscribe(this, throwable -> { + }); } private void displayProgressDialog() { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/GroupFormActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/GroupFormActivity.java index de410f71d..ea2f5200a 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/GroupFormActivity.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/GroupFormActivity.java @@ -170,40 +170,6 @@ public class GroupFormActivity extends BaseActivity { } } - private class emojiClickListener implements View.OnClickListener { - - EmojiEditText view; - - public emojiClickListener(EmojiEditText view) { - this.view = view; - } - - @Override - public void onClick(View v) { - if(!popup.isShowing()){ - - if(popup.isKeyBoardOpen()){ - popup.showAtBottom(); - changeEmojiKeyboardIcon(true); - } - - else{ - view.setFocusableInTouchMode(true); - view.requestFocus(); - popup.showAtBottomPending(); - final InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); - inputMethodManager.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT); - changeEmojiKeyboardIcon(true); - } - } - - else{ - popup.dismiss(); - changeEmojiKeyboardIcon(false); - } - } - } - @Override public boolean onSupportNavigateUp() { finish(); @@ -220,7 +186,7 @@ public class GroupFormActivity extends BaseActivity { private void finishActivitySuccessfuly() { Intent resultIntent = new Intent(); Bundle bundle = new Bundle(); - bundle.putString("name",this.groupNameEditText.getText().toString()); + bundle.putString("name", this.groupNameEditText.getText().toString()); bundle.putString("description", MarkdownParser.parseCompiled(this.groupDescriptionEditText.getText())); bundle.putString("leader", this.groupLeader); resultIntent.putExtras(bundle); @@ -228,4 +194,34 @@ public class GroupFormActivity extends BaseActivity { finish(); UiUtils.dismissKeyboard(this); } + + private class emojiClickListener implements View.OnClickListener { + + EmojiEditText view; + + public emojiClickListener(EmojiEditText view) { + this.view = view; + } + + @Override + public void onClick(View v) { + if (!popup.isShowing()) { + + if (popup.isKeyBoardOpen()) { + popup.showAtBottom(); + changeEmojiKeyboardIcon(true); + } else { + view.setFocusableInTouchMode(true); + view.requestFocus(); + popup.showAtBottomPending(); + final InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + inputMethodManager.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT); + changeEmojiKeyboardIcon(true); + } + } else { + popup.dismiss(); + changeEmojiKeyboardIcon(false); + } + } + } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/IntroActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/IntroActivity.java index aa6c03415..7f8fda910 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/IntroActivity.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/IntroActivity.java @@ -21,20 +21,16 @@ import butterknife.BindView; public class IntroActivity extends BaseActivity implements View.OnClickListener, ViewPager.OnPageChangeListener { - @BindView(R.id.view_pager) - ViewPager pager; - - @BindView(R.id.view_pager_indicator) - CirclePageIndicator indicator; - - @BindView(R.id.skipButton) - Button skipButton; - - @BindView(R.id.finishButton) - Button finishButton; - @Inject public APIHelper apiHelper; + @BindView(R.id.view_pager) + ViewPager pager; + @BindView(R.id.view_pager_indicator) + CirclePageIndicator indicator; + @BindView(R.id.skipButton) + Button skipButton; + @BindView(R.id.finishButton) + Button finishButton; @Override protected int getLayoutResId() { @@ -55,7 +51,9 @@ public class IntroActivity extends BaseActivity implements View.OnClickListener, apiHelper.apiService.getContent() .compose(apiHelper.configureApiCallObserver()) - .subscribe(contentResult -> {}, throwable -> {}); + .subscribe(contentResult -> { + }, throwable -> { + }); } @Override diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/LoginActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/LoginActivity.java index 9e6c01cc8..364968838 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/LoginActivity.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/LoginActivity.java @@ -50,51 +50,89 @@ import rx.functions.Action1; * @author Mickael Goubin */ public class LoginActivity extends BaseActivity - implements Action1, HabitRPGUserCallback.OnUserReceived { - private final static String TAG_ADDRESS="address"; - private final static String TAG_USERID="user"; - private final static String TAG_APIKEY="key"; + implements Action1, HabitRPGUserCallback.OnUserReceived { + private final static String TAG_ADDRESS = "address"; + private final static String TAG_USERID = "user"; + private final static String TAG_APIKEY = "key"; @Inject - public APIHelper apiHelper; + public APIHelper apiHelper; @Inject public SharedPreferences sharedPrefs; - public String mTmpUserToken; - public String mTmpApiToken; - public Boolean isRegistering; - private Menu menu; - - private CallbackManager callbackManager; - - @BindView(R.id.login_btn) - Button mLoginNormalBtn; - - @BindView(R.id.PB_AsyncTask) - ProgressBar mProgressBar; - + public String mTmpUserToken; + public String mTmpApiToken; + public Boolean isRegistering; + @BindView(R.id.login_btn) + Button mLoginNormalBtn; + @BindView(R.id.PB_AsyncTask) + ProgressBar mProgressBar; @BindView(R.id.username) EditText mUsernameET; - @BindView(R.id.password) EditText mPasswordET; - @BindView(R.id.email) EditText mEmail; - @BindView(R.id.confirm_password) EditText mConfirmPassword; - @BindView(R.id.email_row) TableRow mEmailRow; - @BindView(R.id.confirm_password_row) TableRow mConfirmPasswordRow; - @BindView(R.id.login_button) LoginButton mFacebookLoginBtn; - @BindView(R.id.forgot_pw_tv) TextView mForgotPWTV; + private Menu menu; + private CallbackManager callbackManager; + private View.OnClickListener mLoginNormalClick = new View.OnClickListener() { + @Override + public void onClick(View v) { + mProgressBar.setVisibility(View.VISIBLE); + if (isRegistering) { + String username, email, password, cpassword; + username = String.valueOf(mUsernameET.getText()).trim(); + email = String.valueOf(mEmail.getText()).trim(); + password = String.valueOf(mPasswordET.getText()); + cpassword = String.valueOf(mConfirmPassword.getText()); + if (username.length() == 0 || password.length() == 0 || email.length() == 0 || cpassword.length() == 0) { + showValidationError(R.string.login_validation_error_fieldsmissing); + return; + } + apiHelper.registerUser(username, email, password, cpassword) + .compose(apiHelper.configureApiCallObserver()) + .subscribe(LoginActivity.this, throwable -> { + hideProgress(); + }); + } else { + String username, password; + username = String.valueOf(mUsernameET.getText()).trim(); + password = String.valueOf(mPasswordET.getText()); + if (username.length() == 0 || password.length() == 0) { + showValidationError(R.string.login_validation_error_fieldsmissing); + return; + } + apiHelper.connectUser(username, password) + .compose(apiHelper.configureApiCallObserver()) + .subscribe(LoginActivity.this, throwable -> { + hideProgress(); + }); + } + } + }; + private View.OnClickListener mForgotPWClick = v -> { + String url = BuildConfig.BASE_URL; + Intent i = new Intent(Intent.ACTION_VIEW); + i.setData(Uri.parse(url)); + startActivity(i); + }; + + public static void show(final View v) { + v.setVisibility(View.VISIBLE); + } + + public static void hide(final View v) { + v.setVisibility(View.GONE); + } @Override protected int getLayoutResId() { @@ -102,16 +140,16 @@ public class LoginActivity extends BaseActivity } protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); + super.onCreate(savedInstanceState); //Set default values to avoid null-responses when requesting unedited settings PreferenceManager.setDefaultValues(this, R.xml.preferences_fragment, false); ButterKnife.bind(this); - mLoginNormalBtn.setOnClickListener(mLoginNormalClick); + mLoginNormalBtn.setOnClickListener(mLoginNormalClick); - mFacebookLoginBtn.setReadPermissions("user_friends"); + mFacebookLoginBtn.setReadPermissions("user_friends"); mForgotPWTV.setOnClickListener(mForgotPWClick); SpannableString content = new SpannableString(mForgotPWTV.getText()); @@ -121,12 +159,14 @@ public class LoginActivity extends BaseActivity callbackManager = CallbackManager.Factory.create(); mFacebookLoginBtn.registerCallback(callbackManager, new FacebookCallback() { - @Override - public void onSuccess(LoginResult loginResult) { + @Override + public void onSuccess(LoginResult loginResult) { AccessToken accessToken = AccessToken.getCurrentAccessToken(); apiHelper.connectSocial(accessToken.getUserId(), accessToken.getToken()) .compose(apiHelper.configureApiCallObserver()) - .subscribe(LoginActivity.this, throwable -> {hideProgress();}); + .subscribe(LoginActivity.this, throwable -> { + hideProgress(); + }); } @Override @@ -134,11 +174,11 @@ public class LoginActivity extends BaseActivity Log.d("FB Login", "Cancelled"); } - @Override - public void onError(FacebookException exception) { + @Override + public void onError(FacebookException exception) { Log.e("FB Login", "Error", exception); - } - }); + } + }); this.isRegistering = true; @@ -159,7 +199,7 @@ public class LoginActivity extends BaseActivity } private void resetLayout() { - if (this.isRegistering) { + if (this.isRegistering) { if (this.mEmailRow.getVisibility() == View.GONE) { show(this.mEmailRow); } @@ -174,61 +214,13 @@ public class LoginActivity extends BaseActivity hide(this.mConfirmPasswordRow); } } - } - - private View.OnClickListener mLoginNormalClick = new View.OnClickListener() { - @Override - public void onClick(View v) { - mProgressBar.setVisibility(View.VISIBLE); - if (isRegistering) { - String username, email,password,cpassword; - username = String.valueOf(mUsernameET.getText()).trim(); - email = String.valueOf(mEmail.getText()).trim(); - password = String.valueOf(mPasswordET.getText()); - cpassword = String.valueOf(mConfirmPassword.getText()); - if (username.length() == 0 || password.length() == 0 || email.length() == 0 || cpassword.length() == 0) { - showValidationError(R.string.login_validation_error_fieldsmissing); - return; - } - apiHelper.registerUser(username,email,password, cpassword) - .compose(apiHelper.configureApiCallObserver()) - .subscribe(LoginActivity.this, throwable -> {hideProgress();}); - } else { - String username,password; - username = String.valueOf(mUsernameET.getText()).trim(); - password = String.valueOf(mPasswordET.getText()); - if (username.length() == 0 || password.length() == 0) { - showValidationError(R.string.login_validation_error_fieldsmissing); - return; - } - apiHelper.connectUser(username,password) - .compose(apiHelper.configureApiCallObserver()) - .subscribe(LoginActivity.this, throwable -> {hideProgress();}); - } - } - }; - - private View.OnClickListener mForgotPWClick = v -> { -String url = BuildConfig.BASE_URL; -Intent i = new Intent(Intent.ACTION_VIEW); -i.setData(Uri.parse(url)); -startActivity(i); - }; - - - public static void show(final View v) { - v.setVisibility(View.VISIBLE); - } - - public static void hide(final View v) { - v.setVisibility(View.GONE); } - private void startMainActivity() { - Intent intent = new Intent(LoginActivity.this, MainActivity.class); - intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); - startActivity(intent); - finish(); + private void startMainActivity() { + Intent intent = new Intent(LoginActivity.this, MainActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); + startActivity(intent); + finish(); } private void startSetupActivity() { @@ -241,9 +233,9 @@ startActivity(i); private void toggleRegistering() { this.isRegistering = !this.isRegistering; this.setRegistering(); - } + } - private void setRegistering() { + private void setRegistering() { MenuItem menuItem = menu.findItem(R.id.action_toggleRegistering); if (this.isRegistering) { this.mLoginNormalBtn.setText(getString(R.string.register_btn)); @@ -257,77 +249,77 @@ startActivity(i); mPasswordET.setImeOptions(EditorInfo.IME_ACTION_DONE); } this.resetLayout(); - } + } - public void onActivityResult(int requestCode, int resultCode, Intent intent) { + public void onActivityResult(int requestCode, int resultCode, Intent intent) { super.onActivityResult(requestCode, resultCode, intent); callbackManager.onActivityResult(requestCode, resultCode, intent); IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent); - if (scanResult != null) { - try { - Log.d("scanresult", scanResult.getContents()); - this.parse(scanResult.getContents()); - } catch(Exception e) { - Log.e("scanresult", "Could not parse scanResult", e); - } - } - } + if (scanResult != null) { + try { + Log.d("scanresult", scanResult.getContents()); + this.parse(scanResult.getContents()); + } catch (Exception e) { + Log.e("scanresult", "Could not parse scanResult", e); + } + } + } - private void parse(String contents) { - String adr,user,key; - try { - JSONObject obj; + private void parse(String contents) { + String adr, user, key; + try { + JSONObject obj; - obj = new JSONObject(contents); - adr = obj.getString(TAG_ADDRESS); - user = obj.getString(TAG_USERID); - key = obj.getString(TAG_APIKEY); - Log.d("", "adr" + adr + " user:" + user + " key" + key); - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); - SharedPreferences.Editor editor = prefs.edit(); - boolean ans = editor.putString(getString(R.string.SP_address), adr) - .putString(getString(R.string.SP_APIToken), key) - .putString(getString(R.string.SP_userID), user) - .commit(); - if(!ans) { - throw new Exception("PB_string_commit"); - } - startMainActivity(); - } catch (JSONException e) { - showSnackbar(getString(R.string.ERR_pb_barcode)); - e.printStackTrace(); - } catch(Exception e) { - if("PB_string_commit".equals(e.getMessage())) { - showSnackbar(getString(R.string.ERR_pb_barcode)); - } - } - } + obj = new JSONObject(contents); + adr = obj.getString(TAG_ADDRESS); + user = obj.getString(TAG_USERID); + key = obj.getString(TAG_APIKEY); + Log.d("", "adr" + adr + " user:" + user + " key" + key); + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); + SharedPreferences.Editor editor = prefs.edit(); + boolean ans = editor.putString(getString(R.string.SP_address), adr) + .putString(getString(R.string.SP_APIToken), key) + .putString(getString(R.string.SP_userID), user) + .commit(); + if (!ans) { + throw new Exception("PB_string_commit"); + } + startMainActivity(); + } catch (JSONException e) { + showSnackbar(getString(R.string.ERR_pb_barcode)); + e.printStackTrace(); + } catch (Exception e) { + if ("PB_string_commit".equals(e.getMessage())) { + showSnackbar(getString(R.string.ERR_pb_barcode)); + } + } + } - private void showSnackbar(String content) - { - Snackbar snackbar = Snackbar - .make(this.findViewById(R.id.login_linear_layout), content, Snackbar.LENGTH_LONG); + private void showSnackbar(String content) { + Snackbar snackbar = Snackbar + .make(this.findViewById(R.id.login_linear_layout), content, Snackbar.LENGTH_LONG); - View snackbarView = snackbar.getView(); - snackbarView.setBackgroundColor(Color.RED);//change Snackbar's background color; - snackbar.show(); // Don’t forget to show! - } + View snackbarView = snackbar.getView(); + snackbarView.setBackgroundColor(Color.RED);//change Snackbar's background color; + snackbar.show(); // Don’t forget to show! + } - @Override - public boolean onCreateOptionsMenu(Menu menu) { - getMenuInflater().inflate(R.menu.login, menu); + @Override + public boolean onCreateOptionsMenu(Menu menu) { + getMenuInflater().inflate(R.menu.login, menu); this.menu = menu; - return super.onCreateOptionsMenu(menu); - } - @Override - public boolean onOptionsItemSelected(MenuItem item) { - switch(item.getItemId()) { - case R.id.action_toggleRegistering: - toggleRegistering(); - break; - } - return super.onOptionsItemSelected(item); - } + return super.onCreateOptionsMenu(menu); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case R.id.action_toggleRegistering: + toggleRegistering(); + break; + } + return super.onOptionsItemSelected(item); + } private void saveTokens(String api, String user) throws Exception { this.apiHelper.updateAuthenticationCredentials(user, api); @@ -335,7 +327,7 @@ startActivity(i); boolean ans = editor.putString(getString(R.string.SP_APIToken), api) .putString(getString(R.string.SP_userID), user) .commit(); - if(!ans) { + if (!ans) { throw new Exception("PB_string_commit"); } } @@ -354,16 +346,16 @@ startActivity(i); mProgressBar.setVisibility(View.GONE); } - private void showValidationError(int resourceMessageString) { - mProgressBar.setVisibility(View.GONE); - new android.support.v7.app.AlertDialog.Builder(this) - .setTitle(R.string.login_validation_error_title) - .setMessage(resourceMessageString) - .setNeutralButton(android.R.string.ok, (dialog, which) -> { - }) - .setIcon(R.drawable.ic_warning_black) - .show(); - } + private void showValidationError(int resourceMessageString) { + mProgressBar.setVisibility(View.GONE); + new android.support.v7.app.AlertDialog.Builder(this) + .setTitle(R.string.login_validation_error_title) + .setMessage(resourceMessageString) + .setNeutralButton(android.R.string.ok, (dialog, which) -> { + }) + .setIcon(R.drawable.ic_warning_black) + .show(); + } @Override public void call(UserAuthResponse userAuthResponse) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.java index 4e997e6a7..31ea79069 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.java @@ -142,9 +142,17 @@ public class MainActivity extends BaseActivity implements Action1, Ha TaskScoringCallback.OnTaskScored, GemsPurchaseFragment.Listener, TutorialView.OnTutorialReaction { - private static final int MIN_LEVEL_FOR_SKILLS = 11; public static final int SELECT_CLASS_RESULT = 11; - + private static final int MIN_LEVEL_FOR_SKILLS = 11; + // Checkout needs to be in the Activity.. + public ActivityCheckout checkout = null; + @Inject + public APIHelper apiHelper; + @Inject + public MaintenanceApiService maintenanceService; + public HabitRPGUser user; + @Inject + protected HostConfig hostConfig; @BindView(R.id.floating_menu_wrapper) FrameLayout floatingMenuWrapper; @BindView(R.id.toolbar) @@ -155,20 +163,8 @@ public class MainActivity extends BaseActivity implements Action1, Ha View avatar_with_bars; @BindView(R.id.overlayFrameLayout) FrameLayout overlayFrameLayout; - - // Checkout needs to be in the Activity.. - public ActivityCheckout checkout = null; private Drawer drawer; private Drawer filterDrawer; - - @Inject - protected HostConfig hostConfig; - @Inject - public APIHelper apiHelper; - @Inject - public MaintenanceApiService maintenanceService; - - public HabitRPGUser user; private AccountHeader accountHeader; private BaseMainFragment activeFragment; private AvatarWithBarsViewModel avatarInHeader; @@ -181,6 +177,27 @@ public class MainActivity extends BaseActivity implements Action1, Ha private TutorialView activeTutorialView; private boolean isloadingContent; + private TransactionListener userTransactionListener = new TransactionListener() { + @Override + public void onResultReceived(HabitRPGUser habitRPGUser) { + MainActivity.this.user = habitRPGUser; + MainActivity.this.setUserData(true); + } + + @Override + public boolean onReady(BaseTransaction baseTransaction) { + return true; + } + + @Override + public boolean hasResult(BaseTransaction baseTransaction, HabitRPGUser habitRPGUser) { + return true; + } + }; + + static public Double round(Double value, int n) { + return (Math.round(value * Math.pow(10, n))) / (Math.pow(10, n)); + } @Override protected int getLayoutResId() { @@ -235,7 +252,8 @@ public class MainActivity extends BaseActivity implements Action1, Ha if (this.apiHelper != null && this.apiHelper.hasAuthenticationKeys()) { this.apiHelper.retrieveUser(true) .compose(apiHelper.configureApiCallObserver()) - .subscribe(new HabitRPGUserCallback(this), throwable -> {}); + .subscribe(new HabitRPGUserCallback(this), throwable -> { + }); this.checkMaintenance(); } } @@ -298,24 +316,6 @@ public class MainActivity extends BaseActivity implements Action1, Ha } } - private TransactionListener userTransactionListener = new TransactionListener() { - @Override - public void onResultReceived(HabitRPGUser habitRPGUser) { - MainActivity.this.user = habitRPGUser; - MainActivity.this.setUserData(true); - } - - @Override - public boolean onReady(BaseTransaction baseTransaction) { - return true; - } - - @Override - public boolean hasResult(BaseTransaction baseTransaction, HabitRPGUser habitRPGUser) { - return true; - } - }; - private void setUserData(boolean fromLocalDb) { if (user != null) { Calendar calendar = new GregorianCalendar(); @@ -325,7 +325,8 @@ public class MainActivity extends BaseActivity implements Action1, Ha Map updateData = new HashMap<>(); updateData.put("preferences.timezoneOffset", String.valueOf(offset)); apiHelper.apiService.updateUser(updateData).compose(apiHelper.configureApiCallObserver()) - .subscribe(new MergeUserCallback(this, user), throwable -> {}); + .subscribe(new MergeUserCallback(this, user), throwable -> { + }); } runOnUiThread(() -> { updateHeader(); @@ -607,6 +608,7 @@ public class MainActivity extends BaseActivity implements Action1, Ha } return updates; } + private List updateOwnedData(HashMap ownedMapping) { List updates = new ArrayList<>(); if (ownedMapping == null) { @@ -614,7 +616,7 @@ public class MainActivity extends BaseActivity implements Action1, Ha } List items = new Select().from(ItemData.class).queryList(); for (ItemData item : items) { - if (ownedMapping.containsKey(item.key) && item.owned != ownedMapping.get(item.key) ) { + if (ownedMapping.containsKey(item.key) && item.owned != ownedMapping.get(item.key)) { item.owned = ownedMapping.get(item.key); updates.add(item); } else if (!ownedMapping.containsKey(item.key) && item.owned != null) { @@ -715,7 +717,6 @@ public class MainActivity extends BaseActivity implements Action1, Ha } } - @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); @@ -724,11 +725,14 @@ public class MainActivity extends BaseActivity implements Action1, Ha if (this.apiHelper != null) { this.apiHelper.retrieveUser(true) .compose(apiHelper.configureApiCallObserver()) - .subscribe(new HabitRPGUserCallback(this), throwable -> {}); + .subscribe(new HabitRPGUserCallback(this), throwable -> { + }); } } } + // region Events + @Override public void onDestroy() { if (checkout != null) { @@ -739,8 +743,6 @@ public class MainActivity extends BaseActivity implements Action1, Ha super.onDestroy(); } - // region Events - @Subscribe public void onEvent(ToggledInnStateEvent evt) { avatarInHeader.updateData(user); @@ -749,14 +751,16 @@ public class MainActivity extends BaseActivity implements Action1, Ha @Subscribe public void onEvent(UpdateUserCommand event) { apiHelper.apiService.updateUser(event.updateData).compose(apiHelper.configureApiCallObserver()) - .subscribe(new MergeUserCallback(this, user), throwable -> {}); + .subscribe(new MergeUserCallback(this, user), throwable -> { + }); } @Subscribe public void onEvent(EquipCommand event) { this.apiHelper.apiService.equipItem(event.type, event.key) .compose(apiHelper.configureApiCallObserver()) - .subscribe(new ItemsCallback(this, this.user), throwable -> {}); + .subscribe(new ItemsCallback(this, this.user), throwable -> { + }); } @Subscribe @@ -765,7 +769,8 @@ public class MainActivity extends BaseActivity implements Action1, Ha this.setUserData(false); apiHelper.apiService.unlockPath(event.path) .compose(apiHelper.configureApiCallObserver()) - .subscribe(new UnlockCallback(this, this.user), throwable -> {}); + .subscribe(new UnlockCallback(this, this.user), throwable -> { + }); } @Subscribe @@ -832,12 +837,14 @@ public class MainActivity extends BaseActivity implements Action1, Ha MainActivity.this.setUserData(true); showSnackbar(MainActivity.this, floatingMenuWrapper, snackbarMessage, SnackbarDisplayType.NORMAL); - }, throwable -> {}); + }, throwable -> { + }); } else { // user created Rewards apiHelper.apiService.postTaskDirection(rewardKey, TaskDirection.down.toString()) .compose(apiHelper.configureApiCallObserver()) - .subscribe(new TaskScoringCallback(this, rewardKey), throwable -> {}); + .subscribe(new TaskScoringCallback(this, rewardKey), throwable -> { + }); } //Update the users gold @@ -854,7 +861,8 @@ public class MainActivity extends BaseActivity implements Action1, Ha apiHelper.apiService.deleteTask(cmd.TaskIdToDelete).compose(apiHelper.configureApiCallObserver()) .subscribe(aVoid -> { EventBus.getDefault().post(new TaskRemovedEvent(cmd.TaskIdToDelete)); - }, throwable -> {}); + }, throwable -> { + }); } @Subscribe @@ -881,7 +889,8 @@ public class MainActivity extends BaseActivity implements Action1, Ha user.save(); user.setStats(habitRPGUser.getStats()); setUserData(false); - }, throwable -> {}); + }, throwable -> { + }); } @Subscribe @@ -907,7 +916,7 @@ public class MainActivity extends BaseActivity implements Action1, Ha .setNeutralButton(R.string.share, (hatchingDialog, which) -> { ShareEvent event1 = new ShareEvent(); event1.sharedMessage = getString(R.string.share_hatched, potionName, eggName) + " https://habitica.com/social/hatch-pet"; - Bitmap animalBitmap = ((BitmapDrawable)petImageView.getDrawable()).getBitmap(); + Bitmap animalBitmap = ((BitmapDrawable) petImageView.getDrawable()).getBitmap(); Bitmap sharedImage = Bitmap.createBitmap(140, 140, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(sharedImage); canvas.drawColor(getResources().getColor(R.color.brand_300)); @@ -919,7 +928,8 @@ public class MainActivity extends BaseActivity implements Action1, Ha }) .create(); dialog.show(); - }, this.user), throwable -> {}); + }, this.user), throwable -> { + }); } @Subscribe @@ -932,7 +942,7 @@ public class MainActivity extends BaseActivity implements Action1, Ha .compose(apiHelper.configureApiCallObserver()) .subscribe(feedResponse -> { MainActivity.this.user.getItems().getPets().put(pet.getKey(), feedResponse.value); - MainActivity.this.user.getItems().getFood().put(event.usingFood.getKey(), event.usingFood.getOwned()-1); + MainActivity.this.user.getItems().getFood().put(event.usingFood.getKey(), event.usingFood.getOwned() - 1); MainActivity.this.setUserData(false); showSnackbar(MainActivity.this, floatingMenuWrapper, getString(R.string.notification_pet_fed, pet.getColorText(), pet.getAnimalText()), SnackbarDisplayType.NORMAL); if (feedResponse.value == -1) { @@ -951,7 +961,7 @@ public class MainActivity extends BaseActivity implements Action1, Ha .setNeutralButton(R.string.share, (hatchingDialog, which) -> { ShareEvent event1 = new ShareEvent(); event1.sharedMessage = getString(R.string.share_raised, colorName, animalName) + " https://habitica.com/social/raise-pet"; - Bitmap animalBitmap = ((BitmapDrawable)mountImageView.getDrawable()).getBitmap(); + Bitmap animalBitmap = ((BitmapDrawable) mountImageView.getDrawable()).getBitmap(); Bitmap sharedImage = Bitmap.createBitmap(99, 99, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(sharedImage); canvas.drawColor(getResources().getColor(R.color.brand_300)); @@ -964,9 +974,12 @@ public class MainActivity extends BaseActivity implements Action1, Ha .create(); dialog.show(); } - }, throwable -> {}); + }, throwable -> { + }); } + // endregion + @Subscribe public void reloadContent(ReloadContentEvent event) { if (!this.isloadingContent) { @@ -977,12 +990,11 @@ public class MainActivity extends BaseActivity implements Action1, Ha isloadingContent = false; ContentReloadedEvent event1 = new ContentReloadedEvent(); EventBus.getDefault().post(event1); - }, throwable -> {}); + }, throwable -> { + }); } } - // endregion - @Override public void onTaskDataReceived(TaskDirectionData data, Task task) { if (task.type.equals("reward")) { @@ -1015,7 +1027,8 @@ public class MainActivity extends BaseActivity implements Action1, Ha this.apiHelper.retrieveUser(true) .compose(apiHelper.configureApiCallObserver()) - .subscribe(new HabitRPGUserCallback(this), throwable -> {}); + .subscribe(new HabitRPGUserCallback(this), throwable -> { + }); user.getStats().setLvl(lvl); showSnackbar(this, floatingMenuWrapper, message.toString(), SnackbarDisplayType.NORMAL); @@ -1048,10 +1061,6 @@ public class MainActivity extends BaseActivity implements Action1, Ha setUserData(true); } - static public Double round(Double value, int n) { - return (Math.round(value * Math.pow(10, n))) / (Math.pow(10, n)); - } - private void displayDeathDialogIfNeeded() { if (user.getStats().getHp() == null || user.getStats().getHp() > 0) { @@ -1079,7 +1088,8 @@ public class MainActivity extends BaseActivity implements Action1, Ha faintDialog = null; apiHelper.apiService.revive() .compose(apiHelper.configureApiCallObserver()) - .subscribe(new MergeUserCallback(MainActivity.this, MainActivity.this.user), throwable -> {}); + .subscribe(new MergeUserCallback(MainActivity.this, MainActivity.this.user), throwable -> { + }); }) .create(); @@ -1224,7 +1234,8 @@ public class MainActivity extends BaseActivity implements Action1, Ha updateData.put(path, true); apiHelper.apiService.updateUser(updateData) .compose(apiHelper.configureApiCallObserver()) - .subscribe(new MergeUserCallback(this, user), throwable -> {}); + .subscribe(new MergeUserCallback(this, user), throwable -> { + }); this.overlayFrameLayout.removeView(this.activeTutorialView); this.removeActiveTutorialView(); @@ -1301,7 +1312,8 @@ public class MainActivity extends BaseActivity implements Action1, Ha } } } - }, throwable -> {}); + }, throwable -> { + }); } private Intent createMaintenanceIntent(MaintenanceResponse maintenanceResponse, Boolean isDeprecationNotice) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MaintenanceActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MaintenanceActivity.java index b35374eae..72bd539ad 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MaintenanceActivity.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MaintenanceActivity.java @@ -26,21 +26,16 @@ import rx.schedulers.Schedulers; public class MaintenanceActivity extends BaseActivity { - @BindView(R.id.titleTextView) - TextView titleTextView; - - @BindView(R.id.imageView) - ImageView imageView; - - @BindView(R.id.descriptionTextView) - EmojiTextView descriptionTextView; - - @BindView(R.id.playStoreButton) - Button playStoreButton; - @Inject public MaintenanceApiService maintenanceService; - + @BindView(R.id.titleTextView) + TextView titleTextView; + @BindView(R.id.imageView) + ImageView imageView; + @BindView(R.id.descriptionTextView) + EmojiTextView descriptionTextView; + @BindView(R.id.playStoreButton) + Button playStoreButton; private Boolean isDeprecationNotice; @Override @@ -83,7 +78,8 @@ public class MaintenanceActivity extends BaseActivity { if (!maintenanceResponse.activeMaintenance) { finish(); } - }, throwable -> {}); + }, throwable -> { + }); } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/PrefsActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/PrefsActivity.java index a4046c7c2..cf74940b9 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/PrefsActivity.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/PrefsActivity.java @@ -23,6 +23,19 @@ public class PrefsActivity extends BaseActivity implements @BindView(R.id.toolbar) Toolbar toolbar; + // TODO: + // This method should be moved to HabiticaApplication + public static HostConfig fromContext(Context ctx) { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); + HostConfig config; + String httpPort = BuildConfig.PORT; + String address = BuildConfig.DEBUG ? BuildConfig.BASE_URL : ctx.getString(R.string.base_url); + String api = prefs.getString(ctx.getString(R.string.SP_APIToken), null); + String userID = prefs.getString(ctx.getString(R.string.SP_userID), null); + config = new HostConfig(address, httpPort, api, userID); + return config; + } + @Override protected int getLayoutResId() { return R.layout.activity_prefs; @@ -77,18 +90,5 @@ public class PrefsActivity extends BaseActivity implements } return fragment; } - - // TODO: - // This method should be moved to HabiticaApplication - public static HostConfig fromContext(Context ctx) { - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); - HostConfig config; - String httpPort = BuildConfig.PORT; - String address = BuildConfig.DEBUG ? BuildConfig.BASE_URL : ctx.getString(R.string.base_url); - String api = prefs.getString(ctx.getString(R.string.SP_APIToken), null); - String userID = prefs.getString(ctx.getString(R.string.SP_userID), null); - config = new HostConfig(address, httpPort, api, userID); - return config; - } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/SetupActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/SetupActivity.java index 99520d732..20f0dbffc 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/SetupActivity.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/SetupActivity.java @@ -36,25 +36,20 @@ import butterknife.BindView; public class SetupActivity extends BaseActivity implements View.OnClickListener, ViewPager.OnPageChangeListener, HabitRPGUserCallback.OnUserReceived { - @BindView(R.id.view_pager) - ViewPager pager; - - @BindView(R.id.skipButton) - Button skipButton; - - @BindView(R.id.nextButton) - Button nextButton; - - @BindView(R.id.previousButton) - Button previousButton; - - AvatarSetupFragment avatarSetupFragment; - TaskSetupFragment taskSetupFragment; - @Inject public APIHelper apiHelper; @Inject protected HostConfig hostConfig; + @BindView(R.id.view_pager) + ViewPager pager; + @BindView(R.id.skipButton) + Button skipButton; + @BindView(R.id.nextButton) + Button nextButton; + @BindView(R.id.previousButton) + Button previousButton; + AvatarSetupFragment avatarSetupFragment; + TaskSetupFragment taskSetupFragment; HabitRPGUser user; Boolean completedSetup; @@ -100,7 +95,8 @@ public class SetupActivity extends BaseActivity implements View.OnClickListener, } else { this.apiHelper.apiService.getUser() .compose(this.apiHelper.configureApiCallObserver()) - .subscribe(new HabitRPGUserCallback(this), throwable -> {}); + .subscribe(new HabitRPGUserCallback(this), throwable -> { + }); } } } @@ -146,7 +142,8 @@ public class SetupActivity extends BaseActivity implements View.OnClickListener, public void onEvent(UpdateUserCommand event) { this.apiHelper.apiService.updateUser(event.updateData) .compose(this.apiHelper.configureApiCallObserver()) - .subscribe(new MergeUserCallback(this, user), throwable -> {}); + .subscribe(new MergeUserCallback(this, user), throwable -> { + }); } @Override @@ -159,12 +156,13 @@ public class SetupActivity extends BaseActivity implements View.OnClickListener, .compose(this.apiHelper.configureApiCallObserver()) .subscribe(tasks -> { onUserReceived(user); - }, throwable -> {}); + }, throwable -> { + }); //this.apiHelper.apiService.batchOperation(operations, new HabitRPGUserCallback(this)); } - this.pager.setCurrentItem(this.pager.getCurrentItem()+1); + this.pager.setCurrentItem(this.pager.getCurrentItem() + 1); } else if (v == this.previousButton) { - this.pager.setCurrentItem(this.pager.getCurrentItem()-1); + this.pager.setCurrentItem(this.pager.getCurrentItem() - 1); } else if (v == this.skipButton) { JSONObject eventProperties = new JSONObject(); try { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/SkillTasksActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/SkillTasksActivity.java index 25ae9cf06..7b7d14cca 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/SkillTasksActivity.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/SkillTasksActivity.java @@ -27,9 +27,8 @@ public class SkillTasksActivity extends BaseActivity { @BindView(R.id.tab_layout) public TabLayout tabLayout; - - Map viewFragmentsDictionary = new HashMap<>(); protected HabitRPGUser user; + Map viewFragmentsDictionary = new HashMap<>(); @Override protected int getLayoutResId() { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java index 472f75e82..43b43e069 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java @@ -80,12 +80,84 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem public static final String USER_ID_KEY = "userId"; public static final String TASK_TYPE_KEY = "type"; public static final String ALLOCATION_MODE_KEY = "allocationModeKey"; - + @BindView(R.id.task_value_edittext) + EditText taskValue; + @BindView(R.id.task_value_layout) + TextInputLayout taskValueLayout; + @BindView(R.id.task_checklist_wrapper) + LinearLayout checklistWrapper; + @BindView(R.id.task_difficulty_wrapper) + LinearLayout difficultyWrapper; + @BindView(R.id.task_attribute_wrapper) + LinearLayout attributeWrapper; + @BindView(R.id.task_main_wrapper) + LinearLayout mainWrapper; + @BindView(R.id.task_text_edittext) + EmojiEditText taskText; + @BindView(R.id.task_notes_edittext) + EmojiEditText taskNotes; + @BindView(R.id.task_difficulty_spinner) + Spinner taskDifficultySpinner; + @BindView(R.id.task_attribute_spinner) + Spinner taskAttributeSpinner; + @BindView(R.id.btn_delete_task) + Button btnDelete; + @BindView(R.id.task_startdate_layout) + LinearLayout startDateLayout; + @BindView(R.id.task_task_wrapper) + LinearLayout taskWrapper; + @BindView(R.id.task_positive_checkbox) + CheckBox positiveCheckBox; + @BindView(R.id.task_negative_checkbox) + CheckBox negativeCheckBox; + @BindView(R.id.task_actions_wrapper) + LinearLayout actionsLayout; + @BindView(R.id.task_weekdays_wrapper) + LinearLayout weekdayWrapper; + @BindView(R.id.task_frequency_spinner) + Spinner dailyFrequencySpinner; + @BindView(R.id.task_frequency_container) + LinearLayout frequencyContainer; + @BindView(R.id.checklist_recycler_view) + RecyclerView recyclerView; + @BindView(R.id.new_checklist) + EmojiEditText newCheckListEditText; + @BindView(R.id.add_checklist_button) + Button addChecklistItemButton; + @BindView(R.id.task_reminders_wrapper) + LinearLayout remindersWrapper; + @BindView(R.id.new_reminder_edittext) + EditText newRemindersEditText; + @BindView(R.id.reminders_recycler_view) + RecyclerView remindersRecyclerView; + @BindView(R.id.add_reminder_button) + Button addReminderButton; + @BindView(R.id.emoji_toggle_btn0) + ImageButton emojiToggle0; + @BindView(R.id.emoji_toggle_btn1) + ImageButton emojiToggle1; + ImageButton emojiToggle2; + @BindView(R.id.task_duedate_layout) + LinearLayout dueDateLayout; + @BindView(R.id.task_duedate_picker_layout) + LinearLayout dueDatePickerLayout; + @BindView(R.id.duedate_checkbox) + CheckBox dueDateCheckBox; + @BindView(R.id.startdate_text_edittext) + EditText startDatePickerText; + DateEditTextListener startDateListener; + @BindView(R.id.duedate_text_edittext) + EditText dueDatePickerText; + DateEditTextListener dueDateListener; + @BindView(R.id.task_tags_wrapper) + LinearLayout tagsWrapper; + @BindView(R.id.task_tags_checklist) + LinearLayout tagsContainerLinearLayout; + EmojiPopup popup; private String taskType; private String taskId; private String userId; private Task task; - private String allocationMode; private List weekdayCheckboxes = new ArrayList<>(); private NumberPicker frequencyPicker; @@ -93,120 +165,7 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem private CheckListAdapter checklistAdapter; private RemindersAdapter remindersAdapter; private List tagCheckBoxList; - private TaskAlarmManager taskAlarmManager; - - @BindView(R.id.task_value_edittext) - EditText taskValue; - - @BindView(R.id.task_value_layout) - TextInputLayout taskValueLayout; - - @BindView(R.id.task_checklist_wrapper) - LinearLayout checklistWrapper; - - @BindView(R.id.task_difficulty_wrapper) - LinearLayout difficultyWrapper; - - @BindView(R.id.task_attribute_wrapper) - LinearLayout attributeWrapper; - - @BindView(R.id.task_main_wrapper) - LinearLayout mainWrapper; - - @BindView(R.id.task_text_edittext) - EmojiEditText taskText; - - @BindView(R.id.task_notes_edittext) - EmojiEditText taskNotes; - - @BindView(R.id.task_difficulty_spinner) - Spinner taskDifficultySpinner; - - @BindView(R.id.task_attribute_spinner) - Spinner taskAttributeSpinner; - - @BindView(R.id.btn_delete_task) - Button btnDelete; - - @BindView(R.id.task_startdate_layout) - LinearLayout startDateLayout; - - @BindView(R.id.task_task_wrapper) - LinearLayout taskWrapper; - - @BindView(R.id.task_positive_checkbox) - CheckBox positiveCheckBox; - - @BindView(R.id.task_negative_checkbox) - CheckBox negativeCheckBox; - - @BindView(R.id.task_actions_wrapper) - LinearLayout actionsLayout; - - @BindView(R.id.task_weekdays_wrapper) - LinearLayout weekdayWrapper; - - @BindView(R.id.task_frequency_spinner) - Spinner dailyFrequencySpinner; - - @BindView(R.id.task_frequency_container) - LinearLayout frequencyContainer; - - @BindView(R.id.checklist_recycler_view) - RecyclerView recyclerView; - - @BindView(R.id.new_checklist) - EmojiEditText newCheckListEditText; - - @BindView(R.id.add_checklist_button) - Button addChecklistItemButton; - - @BindView(R.id.task_reminders_wrapper) - LinearLayout remindersWrapper; - - @BindView(R.id.new_reminder_edittext) - EditText newRemindersEditText; - - @BindView(R.id.reminders_recycler_view) - RecyclerView remindersRecyclerView; - - @BindView(R.id.add_reminder_button) - Button addReminderButton; - - @BindView(R.id.emoji_toggle_btn0) - ImageButton emojiToggle0; - - @BindView(R.id.emoji_toggle_btn1) - ImageButton emojiToggle1; - - - ImageButton emojiToggle2; - - @BindView(R.id.task_duedate_layout) - LinearLayout dueDateLayout; - - @BindView(R.id.task_duedate_picker_layout) - LinearLayout dueDatePickerLayout; - - @BindView(R.id.duedate_checkbox) - CheckBox dueDateCheckBox; - - @BindView(R.id.startdate_text_edittext) - EditText startDatePickerText; - DateEditTextListener startDateListener; - - @BindView(R.id.duedate_text_edittext) - EditText dueDatePickerText; - DateEditTextListener dueDateListener; - - @BindView(R.id.task_tags_wrapper) - LinearLayout tagsWrapper; - - @BindView(R.id.task_tags_checklist) - LinearLayout tagsContainerLinearLayout; - - EmojiPopup popup; private List selectedTags; @Override @@ -249,8 +208,8 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem EventBus.getDefault().post(new DeleteTaskCommand(taskId)); }).setNegativeButton(getString(R.string.no), (dialog, which) -> { - dialog.dismiss(); - }).show()); + dialog.dismiss(); + }).show()); ArrayAdapter difficultyAdapter = ArrayAdapter.createFromResource(this, R.array.task_difficulties, android.R.layout.simple_spinner_item); @@ -410,7 +369,8 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem tags = loadedTags; createTagsCheckBoxes(); }, - throwable -> {} + throwable -> { + } ); } @@ -436,84 +396,6 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem } } - private class DateEditTextListener implements View.OnClickListener, DatePickerDialog.OnDateSetListener { - Calendar calendar; - DatePickerDialog datePickerDialog; - EditText datePickerText; - DateFormat dateFormatter; - - - public DateEditTextListener(EditText dateText) { - calendar = Calendar.getInstance(); - this.datePickerText = dateText; - this.datePickerText.setOnClickListener(this); - this.dateFormatter = DateFormat.getDateInstance(); - this.datePickerDialog = new DatePickerDialog(datePickerText.getContext(), this, - calendar.get(Calendar.YEAR), - calendar.get(Calendar.MONTH), - calendar.get(Calendar.DAY_OF_MONTH)); - this.datePickerDialog.setButton(DialogInterface.BUTTON_NEUTRAL, getResources().getString(R.string.today), (dialog, which) -> { - setCalendar(Calendar.getInstance().getTime()); - }); - updateDateText(); - } - - public void onClick(View view) { - datePickerDialog.show(); - } - - public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { - calendar.set(year, monthOfYear, dayOfMonth); - updateDateText(); - } - - public Calendar getCalendar() { - return (Calendar) calendar.clone(); - } - - public void setCalendar(Date date) { - calendar.setTime(date); - datePickerDialog.updateDate(calendar.get(Calendar.YEAR), - calendar.get(Calendar.MONTH), - calendar.get(Calendar.DAY_OF_MONTH)); - updateDateText(); - } - - private void updateDateText() { - datePickerText.setText(dateFormatter.format(calendar.getTime())); - } - } - - private class emojiClickListener implements View.OnClickListener { - - EmojiEditText view; - - public emojiClickListener(EmojiEditText view) { - this.view = view; - } - - @Override - public void onClick(View v) { - if (!popup.isShowing()) { - - if (popup.isKeyBoardOpen()) { - popup.showAtBottom(); - changeEmojiKeyboardIcon(true); - } else { - view.setFocusableInTouchMode(true); - view.requestFocus(); - popup.showAtBottomPending(); - final InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); - inputMethodManager.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT); - changeEmojiKeyboardIcon(true); - } - } else { - popup.dismiss(); - changeEmojiKeyboardIcon(false); - } - } - } - private void createCheckListRecyclerView() { List checklistItems = new ArrayList<>(); if (task != null && task.getChecklist() != null) { @@ -628,7 +510,6 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem } } - private void setTitle(Task task) { ActionBar actionBar = getSupportActionBar(); @@ -982,4 +863,82 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem imm.hideSoftInputFromWindow(currentFocus.getWindowToken(), 0); } } + + private class DateEditTextListener implements View.OnClickListener, DatePickerDialog.OnDateSetListener { + Calendar calendar; + DatePickerDialog datePickerDialog; + EditText datePickerText; + DateFormat dateFormatter; + + + public DateEditTextListener(EditText dateText) { + calendar = Calendar.getInstance(); + this.datePickerText = dateText; + this.datePickerText.setOnClickListener(this); + this.dateFormatter = DateFormat.getDateInstance(); + this.datePickerDialog = new DatePickerDialog(datePickerText.getContext(), this, + calendar.get(Calendar.YEAR), + calendar.get(Calendar.MONTH), + calendar.get(Calendar.DAY_OF_MONTH)); + this.datePickerDialog.setButton(DialogInterface.BUTTON_NEUTRAL, getResources().getString(R.string.today), (dialog, which) -> { + setCalendar(Calendar.getInstance().getTime()); + }); + updateDateText(); + } + + public void onClick(View view) { + datePickerDialog.show(); + } + + public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { + calendar.set(year, monthOfYear, dayOfMonth); + updateDateText(); + } + + public Calendar getCalendar() { + return (Calendar) calendar.clone(); + } + + public void setCalendar(Date date) { + calendar.setTime(date); + datePickerDialog.updateDate(calendar.get(Calendar.YEAR), + calendar.get(Calendar.MONTH), + calendar.get(Calendar.DAY_OF_MONTH)); + updateDateText(); + } + + private void updateDateText() { + datePickerText.setText(dateFormatter.format(calendar.getTime())); + } + } + + private class emojiClickListener implements View.OnClickListener { + + EmojiEditText view; + + public emojiClickListener(EmojiEditText view) { + this.view = view; + } + + @Override + public void onClick(View v) { + if (!popup.isShowing()) { + + if (popup.isKeyBoardOpen()) { + popup.showAtBottom(); + changeEmojiKeyboardIcon(true); + } else { + view.setFocusableInTouchMode(true); + view.requestFocus(); + popup.showAtBottomPending(); + final InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + inputMethodManager.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT); + changeEmojiKeyboardIcon(true); + } + } else { + popup.dismiss(); + changeEmojiKeyboardIcon(false); + } + } + } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/CustomizationRecyclerViewAdapter.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/CustomizationRecyclerViewAdapter.java index e74d3855c..dc5ebcbff 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/CustomizationRecyclerViewAdapter.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/CustomizationRecyclerViewAdapter.java @@ -34,38 +34,17 @@ import butterknife.ButterKnife; public class CustomizationRecyclerViewAdapter extends RecyclerView.Adapter { - private List customizationList; - private String activeCustomization; public String userSize; public String hairColor; public double gemBalance; - - public void setCustomizationList(List newCustomizationList) { - this.customizationList = new ArrayList<>(); - CustomizationSet lastSet = new CustomizationSet(); - for (Customization customization : newCustomizationList) { - if (customization.getCustomizationSet() != null && !customization.getCustomizationSet().equals(lastSet.identifier)) { - CustomizationSet set = new CustomizationSet(); - set.identifier = customization.getCustomizationSet(); - set.text = customization.getCustomizationSetName(); - set.price = customization.getSetPrice(); - set.hasPurchasable = !customization.isUsable(); - lastSet = set; - customizationList.add(set); - } - customizationList.add(customization); - if (!customization.isUsable() && !lastSet.hasPurchasable) { - lastSet.hasPurchasable = true; - } - } - this.notifyDataSetChanged(); - } + private List customizationList; + private String activeCustomization; public void updateOwnership(List ownedCustomizations) { int position = 0; for (Object obj : customizationList) { if (obj.getClass().equals(Customization.class)) { - Customization customization = (Customization)obj; + Customization customization = (Customization) obj; if (customization.getPurchased() != ownedCustomizations.contains(customization.getId())) { customization.setPurchased(ownedCustomizations.contains(customization.getId())); notifyItemChanged(position); @@ -109,7 +88,7 @@ public class CustomizationRecyclerViewAdapter extends RecyclerView.Adapter newCustomizationList) { + this.customizationList = new ArrayList<>(); + CustomizationSet lastSet = new CustomizationSet(); + for (Customization customization : newCustomizationList) { + if (customization.getCustomizationSet() != null && !customization.getCustomizationSet().equals(lastSet.identifier)) { + CustomizationSet set = new CustomizationSet(); + set.identifier = customization.getCustomizationSet(); + set.text = customization.getCustomizationSetName(); + set.price = customization.getSetPrice(); + set.hasPurchasable = !customization.isUsable(); + lastSet = set; + customizationList.add(set); + } + customizationList.add(customization); + if (!customization.isUsable() && !lastSet.hasPurchasable) { + lastSet.hasPurchasable = true; + } + } + this.notifyDataSetChanged(); + } + class CustomizationViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { @BindView(R.id.card_view) - CardView cardView; + CardView cardView; @BindView(R.id.linearLayout) RelativeLayout linearLayout; @@ -236,15 +236,12 @@ public class CustomizationRecyclerViewAdapter extends RecyclerView.Adapter { - if (set.price > gemBalance) { - OpenMenuItemCommand event = new OpenMenuItemCommand(); - event.identifier = MainDrawerBuilder.SIDEBAR_PURCHASE; - EventBus.getDefault().post(event); - return; - } - UnlockPathCommand event = new UnlockPathCommand(); - String path = ""; - for (Object obj : customizationList) { - if (obj.getClass().equals(Customization.class)) { - Customization customization = (Customization) obj; - if (!customization.isUsable() && customization.getCustomizationSet() != null && customization.getCustomizationSet().equals(set.identifier)) { - path = path + "," + customization.getPath(); - } + AlertDialog dialog = new AlertDialog.Builder(context) + .setPositiveButton(R.string.purchase_button, (dialog1, which) -> { + if (set.price > gemBalance) { + OpenMenuItemCommand event = new OpenMenuItemCommand(); + event.identifier = MainDrawerBuilder.SIDEBAR_PURCHASE; + EventBus.getDefault().post(event); + return; + } + UnlockPathCommand event = new UnlockPathCommand(); + String path = ""; + for (Object obj : customizationList) { + if (obj.getClass().equals(Customization.class)) { + Customization customization = (Customization) obj; + if (!customization.isUsable() && customization.getCustomizationSet() != null && customization.getCustomizationSet().equals(set.identifier)) { + path = path + "," + customization.getPath(); } } - path = path.substring(1); - event.path = path; - event.balanceDiff = set.price / 4; - EventBus.getDefault().post(event); - }) - .setTitle(context.getString(R.string.purchase_set_title, set.text)) - .setView(dialogContent) - .setNegativeButton(R.string.reward_dialog_dismiss, (dialog1, which) -> { - dialog1.dismiss(); - }).create(); - dialog.show(); + } + path = path.substring(1); + event.path = path; + event.balanceDiff = set.price / 4; + EventBus.getDefault().post(event); + }) + .setTitle(context.getString(R.string.purchase_set_title, set.text)) + .setView(dialogContent) + .setNegativeButton(R.string.reward_dialog_dismiss, (dialog1, which) -> { + dialog1.dismiss(); + }).create(); + dialog.show(); } } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/FAQOverviewRecyclerAdapter.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/FAQOverviewRecyclerAdapter.java index cf6c68dca..a22f0fd42 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/FAQOverviewRecyclerAdapter.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/FAQOverviewRecyclerAdapter.java @@ -17,10 +17,10 @@ import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; -public class FAQOverviewRecyclerAdapter extends RecyclerView.Adapter { +public class FAQOverviewRecyclerAdapter extends RecyclerView.Adapter { - private List articles; public MainActivity activity; + private List articles; public void setArticles(List articles) { this.articles = articles; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/SkillTasksRecyclerViewAdapter.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/SkillTasksRecyclerViewAdapter.java index 95a21501a..e0b028346 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/SkillTasksRecyclerViewAdapter.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/SkillTasksRecyclerViewAdapter.java @@ -26,11 +26,10 @@ import butterknife.ButterKnife; public class SkillTasksRecyclerViewAdapter extends RecyclerView.Adapter { - String taskType; - private ObservableArrayList observableContent; - SkillTasksActivity activity; - private static final int TYPE_CELL = 1; + String taskType; + SkillTasksActivity activity; + private ObservableArrayList observableContent; private RecyclerView.Adapter parentAdapter; public SkillTasksRecyclerViewAdapter(String taskType, SkillTasksActivity activity) { @@ -67,7 +66,7 @@ public class SkillTasksRecyclerViewAdapter extends RecyclerView.Adapter(); + + this.observableContent.addAll(new Select().from(Task.class) + .where(Condition.column("type").eq(this.taskType)) + .and(Condition.CombinedCondition + .begin(Condition.column("completed").eq(false)) + .or(Condition.column("type").eq("daily")) + ) + .orderBy(OrderBy.columns("position", "dateCreated").descending()) + .queryList()); + } + + if (parentAdapter != null) { + parentAdapter.notifyDataSetChanged(); + } else { + notifyDataSetChanged(); + } + } + public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { - protected android.content.res.Resources resources; - public Task task; - + protected android.content.res.Resources resources; SkillTaskItemCardBinding binding; @BindView(R.id.notesTextView) @@ -121,33 +147,4 @@ public class SkillTasksRecyclerViewAdapter extends RecyclerView.Adapter(); - - this.observableContent.addAll(new Select().from(Task.class) - .where(Condition.column("type").eq(this.taskType)) - .and(Condition.CombinedCondition - .begin(Condition.column("completed").eq(false)) - .or(Condition.column("type").eq("daily")) - ) - .orderBy(OrderBy.columns("position", "dateCreated").descending()) - .queryList()); - } - - if (parentAdapter != null) { - parentAdapter.notifyDataSetChanged(); - } else { - notifyDataSetChanged(); - } - } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/SkillsRecyclerViewAdapter.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/SkillsRecyclerViewAdapter.java index 2a44b15de..0113eb9ac 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/SkillsRecyclerViewAdapter.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/SkillsRecyclerViewAdapter.java @@ -24,9 +24,8 @@ import butterknife.ButterKnife; public class SkillsRecyclerViewAdapter extends RecyclerView.Adapter { - private List skillList; - public Double mana; + private List skillList; public void setSkillList(List skillList) { this.skillList = skillList; @@ -91,7 +90,7 @@ public class SkillsRecyclerViewAdapter extends RecyclerView.Adapter mana) { priceButton.setEnabled(false); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/EquipmentRecyclerViewAdapter.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/EquipmentRecyclerViewAdapter.java index 26e85feea..00ce250df 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/EquipmentRecyclerViewAdapter.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/EquipmentRecyclerViewAdapter.java @@ -23,102 +23,101 @@ import butterknife.ButterKnife; public class EquipmentRecyclerViewAdapter extends RecyclerView.Adapter { -private List gearList; + public String equippedGear; + public Boolean isCostume; + public String type; + private List gearList; -public String equippedGear; -public Boolean isCostume; -public String type; - -public void setGearList(List gearList) { + public void setGearList(List gearList) { this.gearList = gearList; this.notifyDataSetChanged(); - } - -@Override -public GearViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { - - View view = LayoutInflater.from(parent.getContext()) - .inflate(R.layout.gear_list_item, parent, false); - - return new GearViewHolder(view); - } - -@Override -public void onBindViewHolder(GearViewHolder holder, int position) { - holder.bind(gearList.get(position)); - } - -@Override -public int getItemCount() { - return gearList == null ? 0 : gearList.size(); - } - -class GearViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { - - @BindView(R.id.gear_container) - View gearContainer; - - @BindView(R.id.gear_text) - TextView gearNameTextView; - - @BindView(R.id.gear_notes) - TextView gearNotesTextView; - - @BindView(R.id.gear_image) - ImageView imageView; - - @BindView(R.id.equippedIndicator) - View equippedIndicator; - - ItemData gear; - - Context context; - - public GearViewHolder(View itemView) { - super(itemView); - - ButterKnife.bind(this, itemView); - - context = itemView.getContext(); - itemView.setOnClickListener(this); - } - - public void bind(ItemData gear) { - this.gear = gear; - this.gearNameTextView.setText(this.gear.text); - this.gearNotesTextView.setText(this.gear.notes); - - if (gear.key.equals(equippedGear)) { - this.equippedIndicator.setVisibility(View.VISIBLE); - this.gearContainer.setBackgroundColor(ContextCompat.getColor(context, R.color.brand_700)); - } else { - this.equippedIndicator.setVisibility(View.GONE); - this.gearContainer.setBackgroundResource(R.drawable.selection_highlight); - } - - String imageUrl = "https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_" + gear.key + ".png"; - - Picasso.with(imageView.getContext()) - .load(imageUrl) - .into(imageView); } @Override - public void onClick(View v) { - EquipCommand command = new EquipCommand(); - command.key = this.gear.key; - if (isCostume) { - command.type = "costume"; - } else { - command.type = "equipped"; + public GearViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + + View view = LayoutInflater.from(parent.getContext()) + .inflate(R.layout.gear_list_item, parent, false); + + return new GearViewHolder(view); + } + + @Override + public void onBindViewHolder(GearViewHolder holder, int position) { + holder.bind(gearList.get(position)); + } + + @Override + public int getItemCount() { + return gearList == null ? 0 : gearList.size(); + } + + class GearViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { + + @BindView(R.id.gear_container) + View gearContainer; + + @BindView(R.id.gear_text) + TextView gearNameTextView; + + @BindView(R.id.gear_notes) + TextView gearNotesTextView; + + @BindView(R.id.gear_image) + ImageView imageView; + + @BindView(R.id.equippedIndicator) + View equippedIndicator; + + ItemData gear; + + Context context; + + public GearViewHolder(View itemView) { + super(itemView); + + ButterKnife.bind(this, itemView); + + context = itemView.getContext(); + itemView.setOnClickListener(this); } - EventBus.getDefault().post(command); - if (this.gear.key.equals(equippedGear)) { - equippedGear = type + "_base_0"; - } else { - equippedGear = this.gear.key; + + public void bind(ItemData gear) { + this.gear = gear; + this.gearNameTextView.setText(this.gear.text); + this.gearNotesTextView.setText(this.gear.notes); + + if (gear.key.equals(equippedGear)) { + this.equippedIndicator.setVisibility(View.VISIBLE); + this.gearContainer.setBackgroundColor(ContextCompat.getColor(context, R.color.brand_700)); + } else { + this.equippedIndicator.setVisibility(View.GONE); + this.gearContainer.setBackgroundResource(R.drawable.selection_highlight); + } + + String imageUrl = "https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_" + gear.key + ".png"; + + Picasso.with(imageView.getContext()) + .load(imageUrl) + .into(imageView); + } + + @Override + public void onClick(View v) { + EquipCommand command = new EquipCommand(); + command.key = this.gear.key; + if (isCostume) { + command.type = "costume"; + } else { + command.type = "equipped"; + } + EventBus.getDefault().post(command); + if (this.gear.key.equals(equippedGear)) { + equippedGear = type + "_base_0"; + } else { + equippedGear = this.gear.key; + } + notifyDataSetChanged(); } - notifyDataSetChanged(); } } -} diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/ItemRecyclerAdapter.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/ItemRecyclerAdapter.java index c2cb49ce9..4226a00ea 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/ItemRecyclerAdapter.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/ItemRecyclerAdapter.java @@ -32,16 +32,14 @@ import java.util.List; public class ItemRecyclerAdapter extends RecyclerView.Adapter { - private List itemList; - public Boolean isHatching; public Boolean isFeeding; public Item hatchingItem; public Pet feedingPet; public ItemRecyclerFragment fragment; public HashMap ownedPets; - public Context context; + private List itemList; public void setItemList(List itemList) { this.itemList = itemList; @@ -104,7 +102,7 @@ public class ItemRecyclerAdapter extends RecyclerView.Adapter 1) { - item.setOwned(item.getOwned()-1); + item.setOwned(item.getOwned() - 1); notifyItemChanged(getAdapterPosition()); } else { if (getAdapterPosition() >= 0) { @@ -156,15 +154,15 @@ public class ItemRecyclerAdapter extends RecyclerView.Adapter { + public String itemType; + public Context context; private List itemList; private HashMap ownedMapping; - public String itemType; - - public Context context; public void setItemList(List itemList) { this.itemList = itemList; @@ -88,7 +87,7 @@ public class MountDetailRecyclerAdapter extends RecyclerView.Adapter { + public String itemType; + public Context context; private List itemList; private HashMap ownedMapping; private HashMap ownedMountMapping; - public String itemType; - - public Context context; public void setItemList(List itemList) { this.itemList = itemList; @@ -96,7 +95,7 @@ public class PetDetailRecyclerAdapter extends RecyclerView.Adapter { - private List itemList; public String itemType; - public MainActivity activity; + private List itemList; public void setItemList(List itemList) { this.itemList = itemList; @@ -54,7 +53,7 @@ public class StableRecyclerAdapter extends RecyclerView.Adapter { - private List customizationList; public String userSize; public HabitRPGUser user; + private List customizationList; public void setCustomizationList(List newCustomizationList) { this.customizationList = new ArrayList<>(); @@ -76,7 +76,7 @@ public class CustomizationSetupAdapter extends RecyclerView.Adapter { - private String[][] taskList; public List checkedList; + private String[][] taskList; public void setTaskList(String[][] taskList) { this.taskList = taskList; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChatRecyclerViewAdapter.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChatRecyclerViewAdapter.java index 3381733c3..cf5b655df 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChatRecyclerViewAdapter.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChatRecyclerViewAdapter.java @@ -129,54 +129,46 @@ public class ChatRecyclerViewAdapter extends RecyclerView.Adapter e : msg.likes.entrySet()) { if (e.getValue()) { likeCount++; @@ -374,11 +361,11 @@ public class ChatRecyclerViewAdapter extends RecyclerView.Adapter { - private List memberList; public Context context; + private List memberList; + public void setMemberList(List memberList) { this.memberList = memberList; this.notifyDataSetChanged(); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/PublicGuildsRecyclerViewAdapter.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/PublicGuildsRecyclerViewAdapter.java index edd63529f..927526881 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/PublicGuildsRecyclerViewAdapter.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/PublicGuildsRecyclerViewAdapter.java @@ -59,7 +59,8 @@ public class PublicGuildsRecyclerViewAdapter extends RecyclerView.Adapter {}); + }, throwable -> { + }); } else { PublicGuildsRecyclerViewAdapter.this.apiHelper.apiService.joinGroup(guild.id) .compose(apiHelper.configureApiCallObserver()) @@ -67,7 +68,8 @@ public class PublicGuildsRecyclerViewAdapter extends RecyclerView.Adapter {}); + }, throwable -> { + }); } }); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/QuestCollectRecyclerViewAdapter.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/QuestCollectRecyclerViewAdapter.java index 7e7c4ba30..2d8cdfa71 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/QuestCollectRecyclerViewAdapter.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/QuestCollectRecyclerViewAdapter.java @@ -31,7 +31,7 @@ public class QuestCollectRecyclerViewAdapter extends RecyclerView.Adapter - implements ItemTouchHelperAdapter{ + implements ItemTouchHelperAdapter { private final List items = new ArrayList<>(); @@ -47,12 +47,12 @@ public class CheckListAdapter extends RecyclerView.Adapter getCheckListItems(){ + public List getCheckListItems() { return items; } @@ -64,7 +64,7 @@ public class CheckListAdapter extends RecyclerView.Adapter= 0 && position < items.size()){ + if (position >= 0 && position < items.size()) { items.remove(position); notifyItemRemoved(position); } @@ -82,14 +82,12 @@ public class CheckListAdapter extends RecyclerView.Adapter getRemindersItems(){ + public List getRemindersItems() { return reminders; } @@ -64,7 +64,7 @@ public class RemindersAdapter extends RecyclerView.Adapter= 0 && position < reminders.size()){ + if (position >= 0 && position < reminders.size()) { reminders.get(position).async().delete(); reminders.remove(position); notifyItemRemoved(position); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/RewardsRecyclerViewAdapter.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/RewardsRecyclerViewAdapter.java index f620b0598..3c4f5e3df 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/RewardsRecyclerViewAdapter.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/RewardsRecyclerViewAdapter.java @@ -86,7 +86,8 @@ public class RewardsRecyclerViewAdapter extends BaseTasksRecyclerViewAdapter { this.filteredContent.addAll(items); notifyDataSetChanged(); - }, throwable -> {}); + }, throwable -> { + }); } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/AboutFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/AboutFragment.java index f0c7acb5b..f310ca61f 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/AboutFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/AboutFragment.java @@ -22,16 +22,15 @@ import butterknife.Unbinder; public class AboutFragment extends Fragment { - private String androidSourceCodeLink = "https://github.com/HabitRPG/habitrpg-android/"; - private String twitterLink = "https://twitter.com/habitica"; - + @BindView(R.id.versionInfo) + public TextView versionInfo; String versionName = ""; int versionCode = 0; String userId = ""; Unbinder unbinder; - - @BindView(R.id.versionInfo) - public TextView versionInfo; + private String androidSourceCodeLink = "https://github.com/HabitRPG/habitrpg-android/"; + private String twitterLink = "https://twitter.com/habitica"; + private View view; @OnClick(R.id.sourceCodeLink) public void openSourceCodePageByLabel() { @@ -58,7 +57,6 @@ public class AboutFragment extends Fragment { sendEmail("[Android] Feedback"); } - @OnClick(R.id.googlePlayStoreButton) public void openGooglePlay() { Intent intent = new Intent(Intent.ACTION_VIEW); @@ -66,8 +64,6 @@ public class AboutFragment extends Fragment { startActivity(intent); } - private View view; - @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -109,13 +105,13 @@ public class AboutFragment extends Fragment { int version = Build.VERSION.SDK_INT; String device = Build.DEVICE; String bodyOfEmail = "Device: " + device + - " \nAndroid Version: " + version + - " \nAppVersion: " + getString(R.string.version_info, versionName, versionCode) + - " \nUser ID: " + userId + - " \nDetails: "; + " \nAndroid Version: " + version + + " \nAppVersion: " + getString(R.string.version_info, versionName, versionCode) + + " \nUser ID: " + userId + + " \nDetails: "; Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts( - "mailto","mobile@habitica.com", null)); + "mailto", "mobile@habitica.com", null)); emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject); emailIntent.putExtra(Intent.EXTRA_TEXT, bodyOfEmail); startActivity(Intent.createChooser(emailIntent, "Send email...")); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/BaseFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/BaseFragment.java index e87868d78..50eb3720c 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/BaseFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/BaseFragment.java @@ -30,12 +30,31 @@ import butterknife.Unbinder; public abstract class BaseFragment extends DialogFragment { - private boolean registerEventBus = false; - public String tutorialStepIdentifier; public String tutorialText; - public Unbinder unbinder; + private boolean registerEventBus = false; + private TransactionListener tutorialStepTransactionListener = new TransactionListener() { + @Override + public void onResultReceived(TutorialStep step) { + if (step != null && !step.getWasCompleted() && (step.getDisplayedOn() == null || (new Date().getTime() - step.getDisplayedOn().getTime()) > 86400000)) { + DisplayTutorialEvent event = new DisplayTutorialEvent(); + event.step = step; + event.tutorialText = tutorialText; + EventBus.getDefault().post(event); + } + } + + @Override + public boolean onReady(BaseTransaction baseTransaction) { + return true; + } + + @Override + public boolean hasResult(BaseTransaction baseTransaction, TutorialStep step) { + return true; + } + }; @Override public void setUserVisibleHint(boolean isVisibleToUser) { @@ -64,7 +83,7 @@ public abstract class BaseFragment extends DialogFragment { @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); - injectFragment(((BaseActivity)getActivity()).getHabiticaApplication().getComponent()); + injectFragment(((BaseActivity) getActivity()).getHabiticaApplication().getComponent()); } @Nullable @@ -111,28 +130,5 @@ public abstract class BaseFragment extends DialogFragment { return this.getClass().getSimpleName(); } - private TransactionListener tutorialStepTransactionListener = new TransactionListener() { - @Override - public void onResultReceived(TutorialStep step) { - if (step != null && !step.getWasCompleted() && (step.getDisplayedOn() == null || (new Date().getTime() - step.getDisplayedOn().getTime()) > 86400000)) { - DisplayTutorialEvent event = new DisplayTutorialEvent(); - event.step = step; - event.tutorialText = tutorialText; - EventBus.getDefault().post(event); - } - } - - @Override - public boolean onReady(BaseTransaction baseTransaction) { - return true; - } - - @Override - public boolean hasResult(BaseTransaction baseTransaction, TutorialStep step) { - return true; - } - }; - - } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/BaseMainFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/BaseMainFragment.java index 030d8cca5..7b7aefac9 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/BaseMainFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/BaseMainFragment.java @@ -24,10 +24,9 @@ public abstract class BaseMainFragment extends BaseFragment { public MainActivity activity; public TabLayout tabLayout; public FrameLayout floatingMenuWrapper; - protected HabitRPGUser user; public boolean usesTabLayout; public int fragmentSidebarPosition; - + protected HabitRPGUser user; public void setUser(HabitRPGUser user) { this.user = user; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/GemsPurchaseFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/GemsPurchaseFragment.java index 63b70faa2..43eb1e4b0 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/GemsPurchaseFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/GemsPurchaseFragment.java @@ -34,13 +34,10 @@ import io.fabric.sdk.android.Fabric; public class GemsPurchaseFragment extends BaseMainFragment { private static final int GEMS_TO_ADD = 21; - - private Listener listener; - - private BillingRequests billingRequests; - @BindView(R.id.btn_purchase_gems) Button btnPurchaseGems; + private Listener listener; + private BillingRequests billingRequests; @Override public void onAttach(Context context) { @@ -106,7 +103,7 @@ public class GemsPurchaseFragment extends BaseMainFragment { GemsPurchaseFragment.this.billingRequests = billingRequests; // if the user leaves the fragment before the checkout callback is done - if(btnPurchaseGems != null) { + if (btnPurchaseGems != null) { btnPurchaseGems.setEnabled(true); } @@ -122,7 +119,7 @@ public class GemsPurchaseFragment extends BaseMainFragment { java.util.List skus = gems.getSkus(); - for (Sku sku : skus){ + for (Sku sku : skus) { updateBuyButtonText(sku.price); } }); @@ -132,22 +129,20 @@ public class GemsPurchaseFragment extends BaseMainFragment { } } - private void updateBuyButtonText(String price){ - if(price == null || price.isEmpty()){ - btnPurchaseGems.setText("+"+ GEMS_TO_ADD); - } - else - { - btnPurchaseGems.setText(price + " = " +"+"+GEMS_TO_ADD ); + private void updateBuyButtonText(String price) { + if (price == null || price.isEmpty()) { + btnPurchaseGems.setText("+" + GEMS_TO_ADD); + } else { + btnPurchaseGems.setText(price + " = " + "+" + GEMS_TO_ADD); } } - private void checkIfPendingPurchases(){ + private void checkIfPendingPurchases() { billingRequests.getAllPurchases(ProductTypes.IN_APP, new RequestListener() { @Override public void onSuccess(@NonNull Purchases purchases) { - for(Purchase purchase : purchases.list){ - if(purchase.sku.equals(HabiticaApplication.Purchase20Gems)) { + for (Purchase purchase : purchases.list) { + if (purchase.sku.equals(HabiticaApplication.Purchase20Gems)) { billingRequests.consume(purchase.token, new RequestListener() { @Override public void onSuccess(@NonNull Object o) { @@ -155,7 +150,7 @@ public class GemsPurchaseFragment extends BaseMainFragment { } @Override - public void onError(int i,@NonNull Exception e) { + public void onError(int i, @NonNull Exception e) { Fabric.getLogger().e("Purchase", "Consume", e); } }); @@ -164,8 +159,8 @@ public class GemsPurchaseFragment extends BaseMainFragment { } @Override - public void onError(int i,@NonNull Exception e) { - Fabric.getLogger().e("Purchase","getAllPurchases", e); + public void onError(int i, @NonNull Exception e) { + Fabric.getLogger().e("Purchase", "getAllPurchases", e); } }); } @@ -180,14 +175,13 @@ public class GemsPurchaseFragment extends BaseMainFragment { // no current product exist final ActivityCheckout checkout = listener.getActivityCheckout(); billingRequests.purchase(ProductTypes.IN_APP, HabiticaApplication.Purchase20Gems, null, checkout.getPurchaseFlow()); - } - else{ + } else { checkIfPendingPurchases(); } } @Override - public void onError(int i,@NonNull Exception e) { + public void onError(int i, @NonNull Exception e) { Fabric.getLogger().e("Purchase", "Error", e); } }); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NewsFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NewsFragment.java index 52385e4f7..bf909ded8 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NewsFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NewsFragment.java @@ -15,10 +15,9 @@ import butterknife.ButterKnife; public class NewsFragment extends BaseMainFragment { - private View view; - @BindView(R.id.news_webview) WebView newsWebview; + private View view; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/faq/FAQOverviewFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/faq/FAQOverviewFragment.java index 257830f68..ed8bade08 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/faq/FAQOverviewFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/faq/FAQOverviewFragment.java @@ -21,27 +21,27 @@ import butterknife.BindView; import butterknife.ButterKnife; public class FAQOverviewFragment extends BaseMainFragment { - @BindView(R.id.recyclerView) - RecyclerView recyclerView; + @BindView(R.id.recyclerView) + RecyclerView recyclerView; - FAQOverviewRecyclerAdapter adapter; + FAQOverviewRecyclerAdapter adapter; - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - super.onCreateView(inflater, container, savedInstanceState); - View view = inflater.inflate(R.layout.fragment_recyclerview, container, false); + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + super.onCreateView(inflater, container, savedInstanceState); + View view = inflater.inflate(R.layout.fragment_recyclerview, container, false); - unbinder = ButterKnife.bind(this, view); - adapter = new FAQOverviewRecyclerAdapter(); - adapter.activity = activity; - recyclerView.setLayoutManager(new LinearLayoutManager(activity)); - recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL_LIST)); - recyclerView.setAdapter(adapter); - this.loadArticles(); + unbinder = ButterKnife.bind(this, view); + adapter = new FAQOverviewRecyclerAdapter(); + adapter.activity = activity; + recyclerView.setLayoutManager(new LinearLayoutManager(activity)); + recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL_LIST)); + recyclerView.setAdapter(adapter); + this.loadArticles(); - return view; - } + return view; + } @Override public void injectFragment(AppComponent component) { @@ -49,13 +49,13 @@ public class FAQOverviewFragment extends BaseMainFragment { } private void loadArticles() { - if(user == null || adapter == null){ - return; - } - - List articles = new Select() - .from(FAQArticle.class).queryList(); - - adapter.setArticles(articles); + if (user == null || adapter == null) { + return; } + + List articles = new Select() + .from(FAQArticle.class).queryList(); + + adapter.setArticles(articles); + } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarCustomizationFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarCustomizationFragment.java index aa89e9cc8..de3ff24e1 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarCustomizationFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarCustomizationFragment.java @@ -83,7 +83,7 @@ public class AvatarCustomizationFragment extends BaseMainFragment { } private void loadCustomizations() { - if(user == null || adapter == null){ + if (user == null || adapter == null) { return; } @@ -95,10 +95,10 @@ public class AvatarCustomizationFragment extends BaseMainFragment { .or(Condition.column("price").isNull()) .or(Condition.CombinedCondition.begin( Condition.CombinedCondition.begin(Condition.column("availableUntil").isNull()) - .or(Condition.column("availableUntil").greaterThanOrEq(new Date().getTime()))) - .and(Condition.CombinedCondition.begin(Condition.column("availableFrom").isNull()) - .or(Condition.column("availableFrom").lessThanOrEq(new Date().getTime())) - ) + .or(Condition.column("availableUntil").greaterThanOrEq(new Date().getTime()))) + .and(Condition.CombinedCondition.begin(Condition.column("availableFrom").isNull()) + .or(Condition.column("availableFrom").lessThanOrEq(new Date().getTime())) + ) ) ); if (this.category != null) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarOverviewFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarOverviewFragment.java index 3dd7148b6..3b5cd1b49 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarOverviewFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarOverviewFragment.java @@ -63,7 +63,9 @@ public class AvatarOverviewFragment extends BaseMainFragment implements AdapterV if (this.apiHelper != null) { this.apiHelper.apiService.getContent() .compose(apiHelper.configureApiCallObserver()) - .subscribe(contentResult -> {}, throwable -> {}); + .subscribe(contentResult -> { + }, throwable -> { + }); } } @@ -107,10 +109,10 @@ public class AvatarOverviewFragment extends BaseMainFragment implements AdapterV } private void displayCustomizationFragment(String type, String category) { - AvatarCustomizationFragment fragment = new AvatarCustomizationFragment(); - fragment.type = type; - fragment.category = category; - activity.displayFragment(fragment); + AvatarCustomizationFragment fragment = new AvatarCustomizationFragment(); + fragment.type = type; + fragment.category = category; + activity.displayFragment(fragment); } @Override @@ -142,10 +144,12 @@ public class AvatarOverviewFragment extends BaseMainFragment implements AdapterV updateData.put("preferences.size", newSize); apiHelper.apiService.updateUser(updateData) .compose(apiHelper.configureApiCallObserver()) - .subscribe(new MergeUserCallback(activity, user), throwable -> {}); + .subscribe(new MergeUserCallback(activity, user), throwable -> { + }); } } @Override - public void onNothingSelected(AdapterView parent) {} + public void onNothingSelected(AdapterView parent) { + } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/equipment/EquipmentDetailFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/equipment/EquipmentDetailFragment.java index c4a33a3b4..c75e60120 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/equipment/EquipmentDetailFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/equipment/EquipmentDetailFragment.java @@ -61,14 +61,14 @@ public class EquipmentDetailFragment extends BaseMainFragment { } private void loadGear() { - if(user == null || adapter == null){ + if (user == null || adapter == null) { return; } List gear = new Select() .from(ItemData.class) .where(Condition.CombinedCondition.begin(Condition.column("type").eq(this.type)) - .and(Condition.column("owned").eq(true)) + .and(Condition.column("owned").eq(true)) ).queryList(); adapter.setGearList(gear); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemRecyclerFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemRecyclerFragment.java index 617d989f3..b75bfcbe7 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemRecyclerFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemRecyclerFragment.java @@ -35,25 +35,21 @@ import butterknife.BindView; import butterknife.ButterKnife; public class ItemRecyclerFragment extends BaseFragment { + private static final String ITEM_TYPE_KEY = "CLASS_TYPE_KEY"; @BindView(R.id.recyclerView) public RecyclerViewEmptySupport recyclerView; - @BindView(R.id.empty_view) public TextView emptyView; - @BindView(R.id.titleTextView) public TextView titleView; public ItemRecyclerAdapter adapter; public String itemType; public String itemTypeText; - public Boolean isHatching; public Boolean isFeeding; public Item hatchingItem; public Pet feedingPet; public HashMap ownedPets; - - private static final String ITEM_TYPE_KEY = "CLASS_TYPE_KEY"; LinearLayoutManager layoutManager = null; private View view; @@ -78,7 +74,7 @@ public class ItemRecyclerFragment extends BaseFragment { recyclerView.setLayoutManager(layoutManager); } - adapter = (ItemRecyclerAdapter)recyclerView.getAdapter(); + adapter = (ItemRecyclerAdapter) recyclerView.getAdapter(); if (adapter == null) { adapter = new ItemRecyclerAdapter(); adapter.context = this.getActivity(); @@ -96,7 +92,7 @@ public class ItemRecyclerFragment extends BaseFragment { } recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL_LIST)); - if (savedInstanceState != null){ + if (savedInstanceState != null) { this.itemType = savedInstanceState.getString(ITEM_TYPE_KEY, ""); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemsFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemsFragment.java index 4d5fbdc67..a456a4c12 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemsFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemsFragment.java @@ -112,7 +112,8 @@ public class ItemsFragment extends BaseMainFragment { OpenMenuItemCommand event1 = new OpenMenuItemCommand(); event1.identifier = MainDrawerBuilder.SIDEBAR_PARTY; EventBus.getDefault().post(event1); - }, throwable -> {}); + }, throwable -> { + }); } @Subscribe @@ -121,7 +122,7 @@ public class ItemsFragment extends BaseMainFragment { ItemRecyclerFragment fragment = new ItemRecyclerFragment(); if (event.usingEgg != null) { fragment.itemType = "hatchingPotions"; - fragment.hatchingItem= event.usingEgg; + fragment.hatchingItem = event.usingEgg; } else { fragment.itemType = "eggs"; fragment.hatchingItem = event.usingHatchingPotion; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/MountDetailRecyclerFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/MountDetailRecyclerFragment.java index 868d33488..6f0c75258 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/MountDetailRecyclerFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/MountDetailRecyclerFragment.java @@ -20,12 +20,12 @@ import android.view.ViewGroup; import java.util.List; public class MountDetailRecyclerFragment extends BaseMainFragment { + private static final String ANIMAL_TYPE_KEY = "ANIMAL_TYPE_KEY"; public RecyclerView recyclerView; public MountDetailRecyclerAdapter adapter; public String animalType; public String animalGroup; public List animals; - private static final String ANIMAL_TYPE_KEY = "ANIMAL_TYPE_KEY"; GridLayoutManager layoutManager = null; private View view; @@ -45,7 +45,7 @@ public class MountDetailRecyclerFragment extends BaseMainFragment { recyclerView.setLayoutManager(layoutManager); recyclerView.addItemDecoration(new MarginDecoration(getActivity())); - adapter = (MountDetailRecyclerAdapter)recyclerView.getAdapter(); + adapter = (MountDetailRecyclerAdapter) recyclerView.getAdapter(); if (adapter == null) { adapter = new MountDetailRecyclerAdapter(); adapter.context = this.getActivity(); @@ -56,7 +56,7 @@ public class MountDetailRecyclerFragment extends BaseMainFragment { } } - if (savedInstanceState != null){ + if (savedInstanceState != null) { this.animalType = savedInstanceState.getString(ANIMAL_TYPE_KEY, ""); } @@ -82,7 +82,6 @@ public class MountDetailRecyclerFragment extends BaseMainFragment { } - private void setGridSpanCount(int width) { float itemWidth; itemWidth = getContext().getResources().getDimension(R.dimen.pet_width); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/PetDetailRecyclerFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/PetDetailRecyclerFragment.java index 01abf4956..1918344d9 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/PetDetailRecyclerFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/PetDetailRecyclerFragment.java @@ -25,12 +25,12 @@ import android.view.ViewGroup; import java.util.List; public class PetDetailRecyclerFragment extends BaseMainFragment { + private static final String ANIMAL_TYPE_KEY = "ANIMAL_TYPE_KEY"; public RecyclerView recyclerView; public PetDetailRecyclerAdapter adapter; public String animalType; public String animalGroup; public List animals; - private static final String ANIMAL_TYPE_KEY = "ANIMAL_TYPE_KEY"; GridLayoutManager layoutManager = null; private View view; @@ -50,7 +50,7 @@ public class PetDetailRecyclerFragment extends BaseMainFragment { recyclerView.setLayoutManager(layoutManager); recyclerView.addItemDecoration(new MarginDecoration(getActivity())); - adapter = (PetDetailRecyclerAdapter)recyclerView.getAdapter(); + adapter = (PetDetailRecyclerAdapter) recyclerView.getAdapter(); if (adapter == null) { adapter = new PetDetailRecyclerAdapter(); adapter.context = this.getActivity(); @@ -61,7 +61,7 @@ public class PetDetailRecyclerFragment extends BaseMainFragment { } } - if (savedInstanceState != null){ + if (savedInstanceState != null) { this.animalType = savedInstanceState.getString(ANIMAL_TYPE_KEY, ""); } @@ -102,7 +102,7 @@ public class PetDetailRecyclerFragment extends BaseMainFragment { Runnable itemsRunnable = () -> { List items = new Select().from(Pet.class).where(Condition.CombinedCondition .begin(Condition.column("animal").eq(animalType)) - .and(Condition.column("animalGroup").eq(animalGroup))).orderBy(true, "color").queryList(); + .and(Condition.column("animalGroup").eq(animalGroup))).orderBy(true, "color").queryList(); adapter.setItemList(items); animals = items; adapter.setOwnedMapping(user.getItems().getPets()); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/StableRecyclerFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/StableRecyclerFragment.java index de95f6e84..627107cb9 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/StableRecyclerFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/StableRecyclerFragment.java @@ -37,17 +37,15 @@ import rx.android.schedulers.AndroidSchedulers; import rx.schedulers.Schedulers; public class StableRecyclerFragment extends BaseFragment { + private static final String ITEM_TYPE_KEY = "CLASS_TYPE_KEY"; @BindView(R.id.recyclerView) public RecyclerViewEmptySupport recyclerView; - @BindView(R.id.empty_view) public TextView emptyView; - public StableRecyclerAdapter adapter; public String itemType; public String itemTypeText; public HabitRPGUser user; - private static final String ITEM_TYPE_KEY = "CLASS_TYPE_KEY"; GridLayoutManager layoutManager = null; private View view; @@ -83,15 +81,15 @@ public class StableRecyclerFragment extends BaseFragment { } - adapter = (StableRecyclerAdapter)recyclerView.getAdapter(); + adapter = (StableRecyclerAdapter) recyclerView.getAdapter(); if (adapter == null) { adapter = new StableRecyclerAdapter(); - adapter.activity = (MainActivity)this.getActivity(); + adapter.activity = (MainActivity) this.getActivity(); adapter.itemType = this.itemType; recyclerView.setAdapter(adapter); } - if (savedInstanceState != null){ + if (savedInstanceState != null) { this.itemType = savedInstanceState.getString(ITEM_TYPE_KEY, ""); } @@ -118,7 +116,6 @@ public class StableRecyclerFragment extends BaseFragment { } - private void setGridSpanCount(int width) { float itemWidth; itemWidth = getContext().getResources().getDimension(R.dimen.pet_width); @@ -168,8 +165,8 @@ public class StableRecyclerFragment extends BaseFragment { lastAnimal = animal; } if (!animal.getAnimalGroup().equals(lastSectionTitle)) { - if (items.size() > 0 && items.get(items.size()-1).getClass().equals(String.class)) { - items.remove(items.size()-1); + if (items.size() > 0 && items.get(items.size() - 1).getClass().equals(String.class)) { + items.remove(items.size() - 1); } items.add(animal.getAnimalGroup()); lastSectionTitle = animal.getAnimalGroup(); @@ -207,7 +204,8 @@ public class StableRecyclerFragment extends BaseFragment { .observeOn(AndroidSchedulers.mainThread()) .subscribe(items -> { adapter.setItemList(items); - }, throwable -> {}); + }, throwable -> { + }); } @Subscribe diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PreferencesFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PreferencesFragment.java index d54d04331..1498261ce 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PreferencesFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PreferencesFragment.java @@ -29,19 +29,34 @@ import javax.inject.Inject; public class PreferencesFragment extends BasePreferencesFragment implements SharedPreferences.OnSharedPreferenceChangeListener { + @Inject + public APIHelper apiHelper; private Context context; private TimePreference timePreference; private Preference classSelectionPreference; private HabitRPGUser user; + private TransactionListener userTransactionListener = new TransactionListener() { + @Override + public void onResultReceived(HabitRPGUser habitRPGUser) { + PreferencesFragment.this.setUser(habitRPGUser); + } - @Inject - public APIHelper apiHelper; + @Override + public boolean onReady(BaseTransaction baseTransaction) { + return true; + } + + @Override + public boolean hasResult(BaseTransaction baseTransaction, HabitRPGUser habitRPGUser) { + return true; + } + }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - ((HabiticaApplication)getActivity().getApplication()).getComponent().inject(this); + ((HabiticaApplication) getActivity().getApplication()).getComponent().inject(this); context = getActivity(); String userID = getPreferenceManager().getSharedPreferences().getString(context.getString(R.string.SP_userID), null); @@ -74,23 +89,6 @@ public class PreferencesFragment extends BasePreferencesFragment implements super.onPause(); } - private TransactionListener userTransactionListener = new TransactionListener() { - @Override - public void onResultReceived(HabitRPGUser habitRPGUser) { - PreferencesFragment.this.setUser(habitRPGUser); - } - - @Override - public boolean onReady(BaseTransaction baseTransaction) { - return true; - } - - @Override - public boolean hasResult(BaseTransaction baseTransaction, HabitRPGUser habitRPGUser) { - return true; - } - }; - @Override public boolean onPreferenceTreeClick(Preference preference) { if (preference.getKey().equals("logout")) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/AvatarSetupFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/AvatarSetupFragment.java index a14896d08..842391a6c 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/AvatarSetupFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/AvatarSetupFragment.java @@ -28,20 +28,16 @@ import butterknife.ButterKnife; public class AvatarSetupFragment extends BaseFragment { - View view; public SetupActivity activity; - private HabitRPGUser user; public int width; - - + View view; @BindView(R.id.recyclerView) RecyclerView recyclerView; - @BindView(R.id.avatarView) AvatarView avatarView; - CustomizationSetupAdapter adapter; GridLayoutManager layoutManager; + private HabitRPGUser user; @Nullable @Override @@ -94,15 +90,15 @@ public class AvatarSetupFragment extends BaseFragment { } private void loadCustomizations() { - if(this.user == null || this.adapter == null){ + if (this.user == null || this.adapter == null) { return; } Where select = new Select() .from(Customization.class) .where(Condition.CombinedCondition.begin(Condition.column("purchased").eq(true)) - .or(Condition.column("price").eq(0)) - .or(Condition.column("price").isNull()) + .or(Condition.column("price").eq(0)) + .or(Condition.column("price").isNull()) ); List customizations = select.queryList(); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/TaskSetupFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/TaskSetupFragment.java index 9627421d5..62e9ad0fd 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/TaskSetupFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/TaskSetupFragment.java @@ -26,18 +26,14 @@ import butterknife.ButterKnife; public class TaskSetupFragment extends BaseFragment { - View view; public SetupActivity activity; public int width; - - private String[][] taskGroups; - - private Object[][] tasks; - + View view; @BindView(R.id.recyclerView) RecyclerView recyclerView; - TaskSetupAdapter adapter; + private String[][] taskGroups; + private Object[][] tasks; @Nullable @Override diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillTasksRecyclerViewFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillTasksRecyclerViewFragment.java index ba9c02320..7e939a9a7 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillTasksRecyclerViewFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillTasksRecyclerViewFragment.java @@ -17,65 +17,63 @@ import android.view.View; import android.view.ViewGroup; public class SkillTasksRecyclerViewFragment extends BaseFragment implements View.OnClickListener { - public RecyclerView mRecyclerView; - public RecyclerView.Adapter mAdapter; - private String classType; + public RecyclerView mRecyclerView; + public RecyclerView.Adapter mAdapter; + LinearLayoutManager layoutManager = null; + private String classType; + private View view; - public void SetInnerAdapter(SkillTasksRecyclerViewAdapter adapter, String classType) { - this.classType = classType; - mAdapter = adapter; - } + public static SkillTasksRecyclerViewFragment newInstance(SkillTasksRecyclerViewAdapter adapter, String classType) { + SkillTasksRecyclerViewFragment fragment = new SkillTasksRecyclerViewFragment(); + fragment.setRetainInstance(true); - private View view; + fragment.SetInnerAdapter(adapter, classType); - @Override - public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - if (view == null) - view = inflater.inflate(R.layout.fragment_recyclerview, container, false); + return fragment; + } - return view; - } + public void SetInnerAdapter(SkillTasksRecyclerViewAdapter adapter, String classType) { + this.classType = classType; + mAdapter = adapter; + } + + @Override + public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + if (view == null) + view = inflater.inflate(R.layout.fragment_recyclerview, container, false); + + return view; + } @Override public void injectFragment(AppComponent component) { component.inject(this); } - LinearLayoutManager layoutManager = null; + @Override + public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + mRecyclerView = (RecyclerView) view.findViewById(R.id.recyclerView); - @Override - public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - mRecyclerView = (RecyclerView) view.findViewById(R.id.recyclerView); + android.support.v4.app.FragmentActivity context = getActivity(); - android.support.v4.app.FragmentActivity context = getActivity(); + layoutManager = (LinearLayoutManager) mRecyclerView.getLayoutManager(); - layoutManager = (LinearLayoutManager) mRecyclerView.getLayoutManager(); + if (layoutManager == null) { + layoutManager = new LinearLayoutManager(context); - if (layoutManager == null) { - layoutManager = new LinearLayoutManager(context); - - mRecyclerView.setLayoutManager(layoutManager); - } - - mRecyclerView.setAdapter(mAdapter); + mRecyclerView.setLayoutManager(layoutManager); } - public static SkillTasksRecyclerViewFragment newInstance(SkillTasksRecyclerViewAdapter adapter, String classType) { - SkillTasksRecyclerViewFragment fragment = new SkillTasksRecyclerViewFragment(); - fragment.setRetainInstance(true); + mRecyclerView.setAdapter(mAdapter); + } - fragment.SetInnerAdapter(adapter, classType); + @Override + public void onClick(View v) { + AddNewTaskCommand event = new AddNewTaskCommand(); + event.ClassType = this.classType; - return fragment; - } - - @Override - public void onClick(View v) { - AddNewTaskCommand event = new AddNewTaskCommand(); - event.ClassType = this.classType; - - EventBus.getDefault().post(event); - } + EventBus.getDefault().post(event); + } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillsFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillsFragment.java index 3953628de..55727e62e 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillsFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillsFragment.java @@ -37,10 +37,11 @@ import rx.Observable; public class SkillsFragment extends BaseMainFragment { private final int TASK_SELECTION_ACTIVITY = 10; - + @BindView(R.id.recyclerView) + RecyclerView mRecyclerView; + SkillsRecyclerViewAdapter adapter; private View view; private Skill selectedSkill; - private ProgressDialog progressDialog; @Nullable @@ -64,11 +65,6 @@ public class SkillsFragment extends BaseMainFragment { component.inject(this); } - @BindView(R.id.recyclerView) - RecyclerView mRecyclerView; - - SkillsRecyclerViewAdapter adapter; - @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); @@ -77,8 +73,8 @@ public class SkillsFragment extends BaseMainFragment { mRecyclerView.setAdapter(adapter); } - private void checkUserLoadSkills(){ - if(user == null || adapter == null){ + private void checkUserLoadSkills() { + if (user == null || adapter == null) { return; } @@ -119,14 +115,15 @@ public class SkillsFragment extends BaseMainFragment { UiUtils.showSnackbar(activity, activity.getFloatingMenuWrapper(), activity.getString(R.string.used_skill, skill.text, skill.mana), UiUtils.SnackbarDisplayType.NORMAL); apiHelper.apiService.getUser() .compose(apiHelper.configureApiCallObserver()) - .subscribe(new MergeUserCallback(activity, user), throwable -> {}); + .subscribe(new MergeUserCallback(activity, user), throwable -> { + }); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); - switch(requestCode) { - case (TASK_SELECTION_ACTIVITY) : { + switch (requestCode) { + case (TASK_SELECTION_ACTIVITY): { if (resultCode == Activity.RESULT_OK) { useSkill(selectedSkill, data.getStringExtra("task_id")); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatListFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatListFragment.java index ac3e038fc..821576520 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatListFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatListFragment.java @@ -46,15 +46,23 @@ import rx.functions.Action1; public class ChatListFragment extends BaseFragment implements SwipeRefreshLayout.OnRefreshListener, Action1> { - private String groupId; public String seenGroupId; - @Inject public APIHelper apiHelper; + public boolean isTavern; + @BindView(R.id.chat_list) + RecyclerView mRecyclerView; + @BindView(R.id.chat_refresh_layout) + SwipeRefreshLayout swipeRefreshLayout; + LinearLayoutManager layoutManager; + private String groupId; private HabitRPGUser user; private String userId; - public boolean isTavern; private ChatRecyclerViewAdapter chatAdapter; + private View view; + private List currentChatMessages; + private boolean navigatedOnceToFragment = false; + private boolean gotNewMessages = false; public void configure(String groupId, HabitRPGUser user, boolean isTavern) { this.groupId = groupId; @@ -65,27 +73,25 @@ public class ChatListFragment extends BaseFragment implements SwipeRefreshLayout this.isTavern = isTavern; } - private View view; - @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreateView(inflater, container, savedInstanceState); if (savedInstanceState != null) { - if (savedInstanceState.containsKey("groupId")) { - this.groupId = savedInstanceState.getString("groupId"); - } - - if (savedInstanceState.containsKey("isTavern")) { - this.isTavern = savedInstanceState.getBoolean("isTavern"); - } - - if (savedInstanceState.containsKey("userId")) { - this.userId = savedInstanceState.getString("userId"); - if (this.userId != null) { - this.user = new Select().from(HabitRPGUser.class).where(Condition.column("id").eq(userId)).querySingle(); + if (savedInstanceState.containsKey("groupId")) { + this.groupId = savedInstanceState.getString("groupId"); + } + + if (savedInstanceState.containsKey("isTavern")) { + this.isTavern = savedInstanceState.getBoolean("isTavern"); + } + + if (savedInstanceState.containsKey("userId")) { + this.userId = savedInstanceState.getString("userId"); + if (this.userId != null) { + this.user = new Select().from(HabitRPGUser.class).where(Condition.column("id").eq(userId)).querySingle(); + } } - } } @@ -100,14 +106,6 @@ public class ChatListFragment extends BaseFragment implements SwipeRefreshLayout component.inject(this); } - @BindView(R.id.chat_list) - RecyclerView mRecyclerView; - - @BindView(R.id.chat_refresh_layout) - SwipeRefreshLayout swipeRefreshLayout; - - LinearLayoutManager layoutManager; - @Override public void onViewCreated(final View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); @@ -136,30 +134,28 @@ public class ChatListFragment extends BaseFragment implements SwipeRefreshLayout swipeRefreshLayout.setRefreshing(true); apiHelper.apiService.listGroupChat(groupId).compose(apiHelper.configureApiCallObserver()) - .subscribe(this, throwable -> {}); + .subscribe(this, throwable -> { + }); } - private List currentChatMessages; - - public void setNavigatedToFragment(String groupId){ + public void setNavigatedToFragment(String groupId) { seenGroupId = groupId; navigatedOnceToFragment = true; markMessagesAsSeen(); } - private boolean navigatedOnceToFragment = false; - private boolean gotNewMessages = false; - - private void markMessagesAsSeen(){ - if(!isTavern && seenGroupId != null && !seenGroupId.isEmpty() + private void markMessagesAsSeen() { + if (!isTavern && seenGroupId != null && !seenGroupId.isEmpty() && gotNewMessages && navigatedOnceToFragment) { gotNewMessages = false; apiHelper.apiService.seenMessages(seenGroupId) .compose(apiHelper.configureApiCallObserver()) - .subscribe(s -> {}, throwable -> {}); + .subscribe(s -> { + }, throwable -> { + }); } } @@ -171,9 +167,10 @@ public class ChatListFragment extends BaseFragment implements SwipeRefreshLayout apiHelper.apiService.flagMessage(cmd.groupId, cmd.chatMessage.id) .compose(apiHelper.configureApiCallObserver()) .subscribe(aVoid -> { - MainActivity activity = (MainActivity)getActivity(); + MainActivity activity = (MainActivity) getActivity(); UiUtils.showSnackbar(activity, activity.getFloatingMenuWrapper(), "Flagged message by " + cmd.chatMessage.user, UiUtils.SnackbarDisplayType.NORMAL); - }, throwable -> {}); + }, throwable -> { + }); }) .setNegativeButton(R.string.action_cancel, (dialog, id) -> { }); @@ -183,7 +180,9 @@ public class ChatListFragment extends BaseFragment implements SwipeRefreshLayout @Subscribe public void onEvent(final ToggleLikeMessageCommand cmd) { apiHelper.apiService.likeMessage(cmd.groupId, cmd.chatMessage.id).compose(apiHelper.configureApiCallObserver()) - .subscribe(voids -> {}, throwable -> {}); + .subscribe(voids -> { + }, throwable -> { + }); } @Subscribe @@ -191,12 +190,13 @@ public class ChatListFragment extends BaseFragment implements SwipeRefreshLayout apiHelper.apiService.deleteMessage(cmd.groupId, cmd.chatMessage.id) .compose(apiHelper.configureApiCallObserver()) .subscribe(aVoid -> { - if (currentChatMessages != null) { - currentChatMessages.remove(cmd.chatMessage); + if (currentChatMessages != null) { + currentChatMessages.remove(cmd.chatMessage); - ChatListFragment.this.call(currentChatMessages); - } - }, throwable -> {}); + ChatListFragment.this.call(currentChatMessages); + } + }, throwable -> { + }); } @Subscribe @@ -206,12 +206,13 @@ public class ChatListFragment extends BaseFragment implements SwipeRefreshLayout apiHelper.apiService.postGroupChat(cmd.TargetGroupId, messageObject) .compose(apiHelper.configureApiCallObserver()) .subscribe(postChatMessageResult -> { - if (currentChatMessages != null) { - currentChatMessages.add(0, postChatMessageResult.message); + if (currentChatMessages != null) { + currentChatMessages.add(0, postChatMessageResult.message); - ChatListFragment.this.call(currentChatMessages); - } - }, throwable -> {}); + ChatListFragment.this.call(currentChatMessages); + } + }, throwable -> { + }); UiUtils.dismissKeyboard(HabiticaApplication.currentActivity); } @@ -227,7 +228,8 @@ public class ChatListFragment extends BaseFragment implements SwipeRefreshLayout user.getPreferences().setSleep(innState.Inn); EventBus.getDefault().post(innState); - }, throwable -> {}); + }, throwable -> { + }); } @Override @@ -269,7 +271,7 @@ public class ChatListFragment extends BaseFragment implements SwipeRefreshLayout @Override protected Void doInBackground(Void... params) { - for (int i = 0; i < chatMessages.size() ; i++) { + for (int i = 0; i < chatMessages.size(); i++) { chatMessages.get(i).parsedText = MarkdownParser.parseMarkdown(chatMessages.get(i).text); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GroupInformationFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GroupInformationFragment.java index a6e21f023..371f6b638 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GroupInformationFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GroupInformationFragment.java @@ -34,7 +34,6 @@ import butterknife.OnClick; public class GroupInformationFragment extends BaseFragment { - private View view; FragmentGroupInfoBinding viewBinding; @Inject APIHelper apiHelper; @@ -42,6 +41,7 @@ public class GroupInformationFragment extends BaseFragment { LinearLayout questMemberView; @BindView(R.id.collectionStats) RecyclerView collectionStats; + private View view; private Group group; private HabitRPGUser user; private QuestContent quest; @@ -50,6 +50,10 @@ public class GroupInformationFragment extends BaseFragment { private QuestCollectRecyclerViewAdapter questCollectViewAdapter; + public GroupInformationFragment() { + + } + public static GroupInformationFragment newInstance(Group group, HabitRPGUser user) { Bundle args = new Bundle(); @@ -61,10 +65,6 @@ public class GroupInformationFragment extends BaseFragment { return fragment; } - public GroupInformationFragment(){ - - } - @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -195,11 +195,12 @@ public class GroupInformationFragment extends BaseFragment { apiHelper.apiService.acceptQuest(group.id) .compose(apiHelper.configureApiCallObserver()) .subscribe(aVoid -> { - user.getParty().getQuest().RSVPNeeded = false; - group.quest.members.put(user.getId(), true); - setGroup(group); - viewBinding.setUser(user); - }, throwable -> {}); + user.getParty().getQuest().RSVPNeeded = false; + group.quest.members.put(user.getId(), true); + setGroup(group); + viewBinding.setUser(user); + }, throwable -> { + }); } @@ -208,11 +209,12 @@ public class GroupInformationFragment extends BaseFragment { apiHelper.apiService.rejectQuest(group.id) .compose(apiHelper.configureApiCallObserver()) .subscribe(aVoid -> { - user.getParty().getQuest().RSVPNeeded = false; - group.quest.members.put(user.getId(), false); - setGroup(group); - viewBinding.setUser(user); - }, throwable -> {}); + user.getParty().getQuest().RSVPNeeded = false; + group.quest.members.put(user.getId(), false); + setGroup(group); + viewBinding.setUser(user); + }, throwable -> { + }); } @@ -224,9 +226,10 @@ public class GroupInformationFragment extends BaseFragment { apiHelper.apiService.leaveQuest(group.id) .compose(apiHelper.configureApiCallObserver()) .subscribe(aVoid -> { - group.quest.members.remove(user.getId()); - setGroup(group); - }, throwable -> {}); + group.quest.members.remove(user.getId()); + setGroup(group); + }, throwable -> { + }); }).setNegativeButton("No", (dialog, which) -> { }); @@ -244,7 +247,8 @@ public class GroupInformationFragment extends BaseFragment { .subscribe(quest -> { group.quest = quest; setGroup(group); - }, throwable -> {}); + }, throwable -> { + }); }).setNegativeButton(R.string.no, (dialog, which) -> { }); @@ -259,9 +263,10 @@ public class GroupInformationFragment extends BaseFragment { apiHelper.apiService.cancelQuest(group.id) .compose(apiHelper.configureApiCallObserver()) .subscribe(aVoid -> { - setGroup(group); - setQuestContent(null); - }, throwable -> {}); + setGroup(group); + setQuestContent(null); + }, throwable -> { + }); }).setNegativeButton(R.string.no, (dialog, which) -> { }); @@ -279,7 +284,8 @@ public class GroupInformationFragment extends BaseFragment { group.quest = quest; setGroup(group); setQuestContent(null); - }, throwable -> {}); + }, throwable -> { + }); }).setNegativeButton("No", (dialog, which) -> { }); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GuildFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GuildFragment.java index 562e7b962..3b2cb5eaf 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GuildFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GuildFragment.java @@ -23,11 +23,9 @@ import rx.functions.Action1; public class GuildFragment extends BaseMainFragment implements Action1 { - private Group guild; public boolean isMember; - public ViewPager viewPager; - + private Group guild; private GroupInformationFragment guildInformationFragment; private ChatListFragment chatListFragment; @@ -39,7 +37,8 @@ public class GuildFragment extends BaseMainFragment implements Action1 { if (this.guild.chat == null) { if (this.apiHelper != null) { apiHelper.apiService.getGroup(this.guild.id).compose(apiHelper.configureApiCallObserver()) - .subscribe(this, throwable -> {}); + .subscribe(this, throwable -> { + }); } } } @@ -70,7 +69,8 @@ public class GuildFragment extends BaseMainFragment implements Action1 { super.onViewCreated(view, savedInstanceState); if (this.apiHelper != null && this.guild != null) { apiHelper.apiService.getGroup(this.guild.id).compose(apiHelper.configureApiCallObserver()) - .subscribe(this, throwable -> {}); + .subscribe(this, throwable -> { + }); } } @@ -95,14 +95,16 @@ public class GuildFragment extends BaseMainFragment implements Action1 { switch (id) { case R.id.menu_guild_join: this.apiHelper.apiService.joinGroup(this.guild.id).compose(apiHelper.configureApiCallObserver()) - .subscribe(this, throwable -> {}); + .subscribe(this, throwable -> { + }); this.isMember = true; return true; case R.id.menu_guild_leave: this.apiHelper.apiService.leaveGroup(this.guild.id).compose(apiHelper.configureApiCallObserver()) .subscribe(aVoid -> { this.activity.supportInvalidateOptionsMenu(); - }, throwable -> {}); + }, throwable -> { + }); this.isMember = false; return true; case R.id.menu_guild_edit: @@ -185,11 +187,11 @@ public class GuildFragment extends BaseMainFragment implements Action1 { private void displayEditForm() { Bundle bundle = new Bundle(); - bundle.putString("groupID",this.guild.id); - bundle.putString("name",this.guild.name); - bundle.putString("description",this.guild.description); - bundle.putString("privacy",this.guild.privacy); - bundle.putString("leader",this.guild.leaderID); + bundle.putString("groupID", this.guild.id); + bundle.putString("name", this.guild.name); + bundle.putString("description", this.guild.description); + bundle.putString("privacy", this.guild.privacy); + bundle.putString("leader", this.guild.leaderID); Intent intent = new Intent(activity, GroupFormActivity.class); intent.putExtras(bundle); @@ -200,8 +202,8 @@ public class GuildFragment extends BaseMainFragment implements Action1 { @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); - switch(requestCode) { - case (GroupFormActivity.GROUP_FORM_ACTIVITY) : { + switch (requestCode) { + case (GroupFormActivity.GROUP_FORM_ACTIVITY): { if (resultCode == Activity.RESULT_OK) { boolean needsSaving = false; Bundle bundle = data.getExtras(); @@ -224,7 +226,9 @@ public class GuildFragment extends BaseMainFragment implements Action1 { if (needsSaving) { this.apiHelper.apiService.updateGroup(this.guild.id, this.guild) .compose(apiHelper.configureApiCallObserver()) - .subscribe(aVoid -> {}, throwable -> {}); + .subscribe(aVoid -> { + }, throwable -> { + }); this.guildInformationFragment.setGroup(guild); } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GuildsOverviewFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GuildsOverviewFragment.java index fd11fd012..9974eec88 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GuildsOverviewFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GuildsOverviewFragment.java @@ -24,7 +24,7 @@ import butterknife.ButterKnife; public class GuildsOverviewFragment extends BaseMainFragment implements View.OnClickListener, SwipeRefreshLayout.OnRefreshListener { @BindView(R.id.my_guilds_listview) - LinearLayout guildsListView; + LinearLayout guildsListView; @BindView(R.id.publicGuildsButton) Button publicGuildsButton; @@ -72,12 +72,13 @@ public class GuildsOverviewFragment extends BaseMainFragment implements View.OnC this.apiHelper.apiService.listGroups("guilds") .compose(apiHelper.configureApiCallObserver()) .subscribe(groups -> { - GuildsOverviewFragment.this.guilds = groups; - GuildsOverviewFragment.this.setGuildsOnListView(); - if (swipeRefreshLayout != null) { - swipeRefreshLayout.setRefreshing(false); - } - }, throwable -> {}); + GuildsOverviewFragment.this.guilds = groups; + GuildsOverviewFragment.this.setGuildsOnListView(); + if (swipeRefreshLayout != null) { + swipeRefreshLayout.setRefreshing(false); + } + }, throwable -> { + }); } } @@ -87,7 +88,7 @@ public class GuildsOverviewFragment extends BaseMainFragment implements View.OnC } this.guildIDs = new ArrayList<>(); this.guildsListView.removeAllViewsInLayout(); - LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); + LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); for (Group guild : this.guilds) { TextView entry = (TextView) inflater.inflate(R.layout.plain_list_item, this.guildsListView, false); entry.setText(guild.name); @@ -104,7 +105,7 @@ public class GuildsOverviewFragment extends BaseMainFragment implements View.OnC publicGuildsFragment.memberGuildIDs = this.guildIDs; this.activity.displayFragment(publicGuildsFragment); } else { - Integer guildIndex = ((ViewGroup)v.getParent()).indexOfChild(v); + Integer guildIndex = ((ViewGroup) v.getParent()).indexOfChild(v); GuildFragment guildFragment = new GuildFragment(); guildFragment.setGuild(this.guilds.get(guildIndex)); guildFragment.isMember = true; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/PublicGuildsFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/PublicGuildsFragment.java index 1d68ace57..e58de9d6a 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/PublicGuildsFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/PublicGuildsFragment.java @@ -23,7 +23,7 @@ import butterknife.ButterKnife; public class PublicGuildsFragment extends BaseMainFragment { List memberGuildIDs; - List guilds; + List guilds; @BindView(R.id.recyclerView) RecyclerView recyclerView; @@ -68,11 +68,12 @@ public class PublicGuildsFragment extends BaseMainFragment { this.apiHelper.apiService.listGroups("publicGuilds") .compose(apiHelper.configureApiCallObserver()) .subscribe(groups -> { - PublicGuildsFragment.this.guilds = groups; - if (PublicGuildsFragment.this.viewAdapter!= null) { - PublicGuildsFragment.this.viewAdapter.setPublicGuildList(groups); - } - }, throwable -> {}); + PublicGuildsFragment.this.guilds = groups; + if (PublicGuildsFragment.this.viewAdapter != null) { + PublicGuildsFragment.this.viewAdapter.setPublicGuildList(groups); + } + }, throwable -> { + }); } } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/TavernFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/TavernFragment.java index d5ec7c626..28aa7ccea 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/TavernFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/TavernFragment.java @@ -52,23 +52,24 @@ public class TavernFragment extends BaseMainFragment { apiHelper.apiService.getGroup("habitrpg") .compose(apiHelper.configureApiCallObserver()) .subscribe(group -> { - TavernFragment.this.tavern = group; - if (group.quest != null && group.quest.key != null && TavernFragment.this.isAdded()) { - TavernFragment.this.viewPager.getAdapter().notifyDataSetChanged(); - if (TavernFragment.this.tabLayout != null) { - TavernFragment.this.tabLayout.setVisibility(View.VISIBLE); - TavernFragment.this.tabLayout.setupWithViewPager(TavernFragment.this.viewPager); - } + TavernFragment.this.tavern = group; + if (group.quest != null && group.quest.key != null && TavernFragment.this.isAdded()) { + TavernFragment.this.viewPager.getAdapter().notifyDataSetChanged(); + if (TavernFragment.this.tabLayout != null) { + TavernFragment.this.tabLayout.setVisibility(View.VISIBLE); + TavernFragment.this.tabLayout.setupWithViewPager(TavernFragment.this.viewPager); + } - ContentCache contentCache = new ContentCache(apiHelper.apiService); + ContentCache contentCache = new ContentCache(apiHelper.apiService); - contentCache.GetQuestContent(group.quest.key, content -> { - if (questInfoFragment != null) { - questInfoFragment.setQuestContent(content); + contentCache.GetQuestContent(group.quest.key, content -> { + if (questInfoFragment != null) { + questInfoFragment.setQuestContent(content); + } + }); } + }, throwable -> { }); - } - }, throwable -> {}); } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyFragment.java index 712766488..f9ba9ff2a 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyFragment.java @@ -73,8 +73,10 @@ public class PartyFragment extends BaseMainFragment { PartyFragment.this.group.members = members; updateGroupUI(); }, - throwable -> {}); - }, throwable -> {}); + throwable -> { + }); + }, throwable -> { + }); } else { AlertDialog.Builder builder = new AlertDialog.Builder(activity) .setMessage(activity.getString(R.string.no_party_message)) @@ -109,7 +111,7 @@ public class PartyFragment extends BaseMainFragment { groupInformationFragment.setGroup(group); } - if(chatListFragment != null){ + if (chatListFragment != null) { chatListFragment.seenGroupId = group.id; } @@ -153,8 +155,9 @@ public class PartyFragment extends BaseMainFragment { case R.id.menu_guild_leave: this.apiHelper.apiService.leaveGroup(this.group.id).compose(apiHelper.configureApiCallObserver()) .subscribe(group -> { - getActivity().getSupportFragmentManager().beginTransaction().remove(PartyFragment.this).commit(); - }, throwable -> {}); + getActivity().getSupportFragmentManager().beginTransaction().remove(PartyFragment.this).commit(); + }, throwable -> { + }); return true; } @@ -163,10 +166,10 @@ public class PartyFragment extends BaseMainFragment { private void displayEditForm() { Bundle bundle = new Bundle(); - bundle.putString("groupID",this.group.id); - bundle.putString("name",this.group.name); - bundle.putString("description",this.group.description); - bundle.putString("leader",this.group.leaderID); + bundle.putString("groupID", this.group.id); + bundle.putString("name", this.group.name); + bundle.putString("description", this.group.description); + bundle.putString("leader", this.group.leaderID); Intent intent = new Intent(activity, GroupFormActivity.class); intent.putExtras(bundle); @@ -177,8 +180,8 @@ public class PartyFragment extends BaseMainFragment { @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); - switch(requestCode) { - case (GroupFormActivity.GROUP_FORM_ACTIVITY) : { + switch (requestCode) { + case (GroupFormActivity.GROUP_FORM_ACTIVITY): { if (resultCode == Activity.RESULT_OK) { boolean needsSaving = false; Bundle bundle = data.getExtras(); @@ -201,13 +204,15 @@ public class PartyFragment extends BaseMainFragment { if (needsSaving) { this.apiHelper.apiService.updateGroup(this.group.id, this.group) .compose(apiHelper.configureApiCallObserver()) - .subscribe(aVoid -> {}, throwable -> {}); + .subscribe(aVoid -> { + }, throwable -> { + }); this.groupInformationFragment.setGroup(group); } } break; } - case (PartyInviteActivity.RESULT_SEND_INVITES) : { + case (PartyInviteActivity.RESULT_SEND_INVITES): { if (resultCode == Activity.RESULT_OK) { Map inviteData = new HashMap<>(); inviteData.put("inviter", this.user.getProfile().getName()); @@ -229,7 +234,9 @@ public class PartyFragment extends BaseMainFragment { } this.apiHelper.apiService.inviteToGroup(this.group.id, inviteData) .compose(apiHelper.configureApiCallObserver()) - .subscribe(aVoid -> {}, throwable -> {}); + .subscribe(aVoid -> { + }, throwable -> { + }); } } } @@ -243,7 +250,7 @@ public class PartyFragment extends BaseMainFragment { UserParty party = this.user.getParty(); - if(party == null) { + if (party == null) { return; } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyInviteFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyInviteFragment.java index 87e063ee6..72fba720d 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyInviteFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyInviteFragment.java @@ -68,8 +68,8 @@ public class PartyInviteFragment extends BaseFragment { public String[] getValues() { List values = new ArrayList<>(); - for (int i = 0; i < invitationWrapper.getChildCount();i++) { - EditText valueEditText = (EditText)invitationWrapper.getChildAt(i); + for (int i = 0; i < invitationWrapper.getChildCount(); i++) { + EditText valueEditText = (EditText) invitationWrapper.getChildAt(i); if (valueEditText.getText().toString().length() > 0) { values.add(valueEditText.getText().toString()); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyMemberListFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyMemberListFragment.java index 354f70e25..6eaabc2ea 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyMemberListFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyMemberListFragment.java @@ -24,10 +24,12 @@ import butterknife.BindView; */ public class PartyMemberListFragment extends BaseFragment { + @BindView(R.id.recyclerView) + RecyclerView mRecyclerView; private Context ctx; private List members; - private PartyMemberRecyclerViewAdapter viewAdapter; + private View view; public void configure(Context ctx, List members) { this.ctx = ctx; @@ -35,11 +37,6 @@ public class PartyMemberListFragment extends BaseFragment { } - private View view; - - @BindView(R.id.recyclerView) - RecyclerView mRecyclerView; - @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.java index c385ac20f..346daaa63 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.java @@ -35,20 +35,28 @@ import javax.inject.Named; * - Handles the ScrollPosition - if anyone has a better solution please share it */ public class TaskRecyclerViewFragment extends BaseFragment implements View.OnClickListener { + private static final String CLASS_TYPE_KEY = "CLASS_TYPE_KEY"; public RecyclerView recyclerView; public BaseTasksRecyclerViewAdapter recyclerAdapter; - private String classType; - private HabitRPGUser user; - private static final String CLASS_TYPE_KEY = "CLASS_TYPE_KEY"; - - @Inject @Named("UserID") + @Inject + @Named("UserID") String userID; - @Inject APIHelper apiHelper; - @Inject TagsHelper tagsHelper; + LinearLayoutManager layoutManager = null; + private String classType; + private HabitRPGUser user; + private View view; + + public static TaskRecyclerViewFragment newInstance(HabitRPGUser user, String classType) { + TaskRecyclerViewFragment fragment = new TaskRecyclerViewFragment(); + fragment.setRetainInstance(true); + fragment.user = user; + fragment.classType = classType; + return fragment; + } // TODO needs a bit of cleanup public void setInnerAdapter() { @@ -77,8 +85,6 @@ public class TaskRecyclerViewFragment extends BaseFragment implements View.OnCli } } - private View view; - @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { if (view == null) { @@ -101,7 +107,7 @@ public class TaskRecyclerViewFragment extends BaseFragment implements View.OnCli recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL_LIST)); } - if (savedInstanceState != null){ + if (savedInstanceState != null) { this.classType = savedInstanceState.getString(CLASS_TYPE_KEY, ""); } @@ -136,8 +142,6 @@ public class TaskRecyclerViewFragment extends BaseFragment implements View.OnCli component.inject(this); } - LinearLayoutManager layoutManager = null; - @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); @@ -150,14 +154,6 @@ public class TaskRecyclerViewFragment extends BaseFragment implements View.OnCli outState.putString(CLASS_TYPE_KEY, this.classType); } - public static TaskRecyclerViewFragment newInstance(HabitRPGUser user, String classType) { - TaskRecyclerViewFragment fragment = new TaskRecyclerViewFragment(); - fragment.setRetainInstance(true); - fragment.user = user; - fragment.classType = classType; - return fragment; - } - @Override public void onClick(View v) { AddNewTaskCommand event = new AddNewTaskCommand(); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.java index 22835b7d9..d65567b18 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.java @@ -72,17 +72,11 @@ public class TasksFragment extends BaseMainFragment implements OnCheckedChangeLi private static final int TASK_UPDATED_RESULT = 2; public ViewPager viewPager; - - MenuItem refreshItem; - - - FloatingActionMenu floatingMenu; - - Map ViewFragmentsDictionary = new HashMap<>(); - @Inject public TagsHelper tagsHelper; // This will be used for this fragment. Currently being used to help filtering - + MenuItem refreshItem; + FloatingActionMenu floatingMenu; + Map ViewFragmentsDictionary = new HashMap<>(); private ArrayList tagNames; // Added this so other activities/fragments can get the String names, not IDs private ArrayList tagIds; // Added this so other activities/fragments can get the IDs @@ -265,7 +259,7 @@ public class TasksFragment extends BaseMainFragment implements OnCheckedChangeLi for (TaskRecyclerViewFragment fragm : ViewFragmentsDictionary.values()) { if (fragm != null) { - BaseTasksRecyclerViewAdapter adapter= fragm.recyclerAdapter; + BaseTasksRecyclerViewAdapter adapter = fragm.recyclerAdapter; if (adapter.getClass().equals(DailiesRecyclerViewHolder.class)) { final DailiesRecyclerViewHolder dailyAdapter = (DailiesRecyclerViewHolder) fragm.recyclerAdapter; dailyAdapter.dailyResetOffset = this.user.getPreferences().getDayStart(); @@ -282,7 +276,7 @@ public class TasksFragment extends BaseMainFragment implements OnCheckedChangeLi } String allocationMode = ""; - if (HabiticaApplication.User != null && HabiticaApplication.User.getPreferences() != null){ + if (HabiticaApplication.User != null && HabiticaApplication.User.getPreferences() != null) { allocationMode = HabiticaApplication.User.getPreferences().getAllocationMode(); } @@ -327,7 +321,7 @@ public class TasksFragment extends BaseMainFragment implements OnCheckedChangeLi } String allocationMode = ""; - if (HabiticaApplication.User != null && HabiticaApplication.User.getPreferences() != null){ + if (HabiticaApplication.User != null && HabiticaApplication.User.getPreferences() != null) { allocationMode = HabiticaApplication.User.getPreferences().getAllocationMode(); } @@ -349,21 +343,24 @@ public class TasksFragment extends BaseMainFragment implements OnCheckedChangeLi public void onEvent(TaskCheckedCommand event) { apiHelper.apiService.postTaskDirection(event.Task.getId(), (event.Task.getCompleted() ? TaskDirection.down : TaskDirection.up).toString()) .compose(apiHelper.configureApiCallObserver()) - .subscribe(new TaskScoringCallback(activity, event.Task.getId()), throwable -> {}); + .subscribe(new TaskScoringCallback(activity, event.Task.getId()), throwable -> { + }); } @Subscribe public void onEvent(ChecklistCheckedCommand event) { apiHelper.apiService.scoreChecklistItem(event.task.getId(), event.item.getId()) .compose(apiHelper.configureApiCallObserver()) - .subscribe(new TaskUpdateCallback(), throwable -> {}); + .subscribe(new TaskUpdateCallback(), throwable -> { + }); } @Subscribe public void onEvent(HabitScoreEvent event) { apiHelper.apiService.postTaskDirection(event.habit.getId(), (event.Up ? TaskDirection.up : TaskDirection.down).toString()) .compose(apiHelper.configureApiCallObserver()) - .subscribe(new TaskScoringCallback(activity, event.habit.getId()), throwable -> {}); + .subscribe(new TaskScoringCallback(activity, event.habit.getId()), throwable -> { + }); } @Subscribe @@ -377,12 +374,14 @@ public class TasksFragment extends BaseMainFragment implements OnCheckedChangeLi if (event.created) { this.apiHelper.apiService.createItem(task) .compose(apiHelper.configureApiCallObserver()) - .subscribe(new TaskCreationCallback(), throwable -> {}); + .subscribe(new TaskCreationCallback(), throwable -> { + }); floatingMenu.close(true); } else { this.apiHelper.apiService.updateTask(task.getId(), task) .compose(apiHelper.configureApiCallObserver()) - .subscribe(new TaskUpdateCallback(), throwable -> {}); + .subscribe(new TaskUpdateCallback(), throwable -> { + }); } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/Debounce.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/Debounce.java index 45e6b806f..93b6f4bf3 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/Debounce.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/Debounce.java @@ -11,13 +11,13 @@ public abstract class Debounce { private long debounceDelay = 0; private long checkDelay = 0; - public abstract void execute(); - public Debounce(long debounceDelay, long checkDelay) { this.debounceDelay = debounceDelay; this.checkDelay = checkDelay; } + public abstract void execute(); + public void hit() { lastHit = System.currentTimeMillis(); if (this.timer != null) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/EmojiKeyboard.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/EmojiKeyboard.java index 7fd0e44b0..aa892b7b4 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/EmojiKeyboard.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/EmojiKeyboard.java @@ -21,9 +21,10 @@ public class EmojiKeyboard { * Create a Emoji keyboard * * @param itemView Must contain views with the following IDs: - * 'emoji.toggle.btn' for the ImageButton that is used to enable/disable the emoji keyboard + * 'emoji.toggle.btn' for the ImageButton that is used to enable/disable the + * emoji keyboard * 'edit.new.message.text' for the EmojiEditText where the emojis are put into - * @param context The context from the calling Activity + * @param context The context from the calling Activity */ public static void createKeyboard(View itemView, final Context context) { @@ -44,7 +45,7 @@ public class EmojiKeyboard { @Override public void onKeyboardClose() { - if(popup.isShowing()) + if (popup.isShowing()) popup.dismiss(); } }); @@ -73,14 +74,12 @@ public class EmojiKeyboard { emojiButton.setOnClickListener(v -> { - if(!popup.isShowing()){ + if (!popup.isShowing()) { - if(popup.isKeyBoardOpen()){ + if (popup.isKeyBoardOpen()) { popup.showAtBottom(); changeEmojiKeyboardIcon(emojiButton, context, true); - } - - else{ + } else { emojiEditText.setFocusableInTouchMode(true); emojiEditText.requestFocus(); popup.showAtBottomPending(); @@ -88,14 +87,13 @@ public class EmojiKeyboard { inputMethodManager.showSoftInput(emojiEditText, InputMethodManager.SHOW_IMPLICIT); changeEmojiKeyboardIcon(emojiButton, context, true); } - } - - else{ + } else { popup.dismiss(); changeEmojiKeyboardIcon(emojiButton, context, false); } }); } + private static void changeEmojiKeyboardIcon(ImageButton view, Context context, Boolean keyboardOpened) { if (keyboardOpened) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/FloatingActionMenuBehavior.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/FloatingActionMenuBehavior.java index 906c0d1d0..909fbe526 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/FloatingActionMenuBehavior.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/FloatingActionMenuBehavior.java @@ -82,15 +82,15 @@ public class FloatingActionMenuBehavior extends CoordinatorLayout.Behavior { return minOffset; } - @Override - public boolean onStartNestedScroll(CoordinatorLayout coordinatorLayout, View child, View directTargetChild, View target, int nestedScrollAxes) { - return nestedScrollAxes == ViewCompat.SCROLL_AXIS_VERTICAL || - super.onStartNestedScroll(coordinatorLayout, child, directTargetChild, target, nestedScrollAxes); - } + @Override + public boolean onStartNestedScroll(CoordinatorLayout coordinatorLayout, View child, View directTargetChild, View target, int nestedScrollAxes) { + return nestedScrollAxes == ViewCompat.SCROLL_AXIS_VERTICAL || + super.onStartNestedScroll(coordinatorLayout, child, directTargetChild, target, nestedScrollAxes); + } - @Override - public void onNestedScroll(CoordinatorLayout coordinatorLayout, final View child, View target, int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed) { - super.onNestedScroll(coordinatorLayout, child, target, dxConsumed, dyConsumed, dxUnconsumed, dyUnconsumed); + @Override + public void onNestedScroll(CoordinatorLayout coordinatorLayout, final View child, View target, int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed) { + super.onNestedScroll(coordinatorLayout, child, target, dxConsumed, dyConsumed, dxUnconsumed, dyUnconsumed); /* Logic: @@ -108,36 +108,36 @@ public class FloatingActionMenuBehavior extends CoordinatorLayout.Behavior { - If we're not on screen AND we're scrolling upwards and not animating OR we're at the top of the screen > SHOW */ - } else if (isOffScreen && ((dyConsumed < -10 && !isAnimating) || dyUnconsumed < 0)) { + } else if (isOffScreen && ((dyConsumed < -10 && !isAnimating) || dyUnconsumed < 0)) { isAnimating = true; slideFabOnScreen(child); resetAnimatingStatusWithDelay(child); isOffScreen = false; - } - } + } + } private void resetAnimatingStatusWithDelay(final View child) { child.postDelayed(() -> { isAnimating = false; -FloatingActionMenu fab = (FloatingActionMenu)((ViewGroup) child).getChildAt(0); -if (isOffScreen && fab != null) { -fab.hideMenu(false); -} -}, FAB_ANIMATION_DURATION); + FloatingActionMenu fab = (FloatingActionMenu) ((ViewGroup) child).getChildAt(0); + if (isOffScreen && fab != null) { + fab.hideMenu(false); + } + }, FAB_ANIMATION_DURATION); } - private void slideFabOffScreen(View view){ + private void slideFabOffScreen(View view) { Animation slideOff = AnimationUtils.loadAnimation(context, R.anim.fab_slide_out); slideOff.setDuration(FAB_ANIMATION_DURATION); slideOff.setFillAfter(true); view.startAnimation(slideOff); } - private void slideFabOnScreen(View view){ + private void slideFabOnScreen(View view) { Animation slideIn = AnimationUtils.loadAnimation(context, R.anim.fab_slide_in); slideIn.setDuration(FAB_ANIMATION_DURATION); slideIn.setFillAfter(true); - FloatingActionMenu fab = (FloatingActionMenu)((ViewGroup) view).getChildAt(0); + FloatingActionMenu fab = (FloatingActionMenu) ((ViewGroup) view).getChildAt(0); view.startAnimation(slideIn); if (fab != null) { fab.showMenu(false); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/TaskAlarmManager.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/TaskAlarmManager.java index 77080a6e6..65b1234e3 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/TaskAlarmManager.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/TaskAlarmManager.java @@ -23,21 +23,18 @@ import java.util.List; * Created by keithholliday on 5/29/16. */ public class TaskAlarmManager { - private static TaskAlarmManager instance = null; - - private Context context; - public static final String TASK_ID_INTENT_KEY = "TASK_ID"; public static final String TASK_NAME_INTENT_KEY = "TASK_NAME"; + private static TaskAlarmManager instance = null; + private Context context; private TaskAlarmManager(Context context) { this.context = context; EventBus.getDefault().register(this); } - public static TaskAlarmManager getInstance(Context context){ - if(instance == null) - { + public static TaskAlarmManager getInstance(Context context) { + if (instance == null) { instance = new TaskAlarmManager(context); } return instance; @@ -94,7 +91,7 @@ public class TaskAlarmManager { } } - private RemindersItem setTimeForDailyReminder (RemindersItem remindersItem, Task task) { + private RemindersItem setTimeForDailyReminder(RemindersItem remindersItem, Task task) { Date oldTime = remindersItem.getTime(); Date newTime = task.getNextActiveDateAfter(oldTime); newTime.setHours(oldTime.getHours()); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/UiUtils.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/UiUtils.java index 729c9b043..d42b8c997 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/UiUtils.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/UiUtils.java @@ -15,10 +15,6 @@ import android.widget.TextView; */ public class UiUtils { - public enum SnackbarDisplayType { - NORMAL, FAILURE, FAILURE_BLUE, DROP - } - /** * Hides soft keyboard if it's opened. * @@ -34,9 +30,10 @@ public class UiUtils { /** * Shows snackbar in given container. - * @param context Context. + * + * @param context Context. * @param container Parent view where Snackbar will appear. - * @param content Message. + * @param content Message. */ public static void showSnackbar(Context context, View container, String content, SnackbarDisplayType displayType) { Snackbar snackbar = Snackbar.make(container, content, Snackbar.LENGTH_LONG); @@ -59,4 +56,8 @@ public class UiUtils { snackbar.show(); } + public enum SnackbarDisplayType { + NORMAL, FAILURE, FAILURE_BLUE, DROP + } + } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/BottomSheetMenu.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/BottomSheetMenu.java index 58d34ee58..5f1135686 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/BottomSheetMenu.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/BottomSheetMenu.java @@ -19,7 +19,7 @@ public class BottomSheetMenu extends BottomSheetDialog implements View.OnClickLi super(context); this.context = context; this.inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - this.contentView = (LinearLayout)inflater.inflate(R.layout.menu_bottom_sheet, null); + this.contentView = (LinearLayout) inflater.inflate(R.layout.menu_bottom_sheet, null); this.setContentView(this.contentView); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/BottomSheetMenuItem.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/BottomSheetMenuItem.java index 0785318d3..3eb9ce8df 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/BottomSheetMenuItem.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/BottomSheetMenuItem.java @@ -26,8 +26,8 @@ public class BottomSheetMenuItem { } public View inflate(Context context, LayoutInflater inflater, ViewGroup contentView) { - LinearLayout menuItemView = (LinearLayout)inflater.inflate(R.layout.menu_bottom_sheet_item, contentView, false); - TextView textView = (TextView)menuItemView.findViewById(R.id.textView); + LinearLayout menuItemView = (LinearLayout) inflater.inflate(R.layout.menu_bottom_sheet_item, contentView, false); + TextView textView = (TextView) menuItemView.findViewById(R.id.textView); textView.setText(this.title); if (this.isDestructive) { textView.setTextColor(ContextCompat.getColor(context, R.color.worse_50)); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/DividerItemDecoration.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/DividerItemDecoration.java index 5afc4d06d..2b4d5855a 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/DividerItemDecoration.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/DividerItemDecoration.java @@ -26,14 +26,11 @@ import android.view.View; */ public class DividerItemDecoration extends RecyclerView.ItemDecoration { + public static final int HORIZONTAL_LIST = LinearLayoutManager.HORIZONTAL; + public static final int VERTICAL_LIST = LinearLayoutManager.VERTICAL; private static final int[] ATTRS = new int[]{ android.R.attr.listDivider }; - - public static final int HORIZONTAL_LIST = LinearLayoutManager.HORIZONTAL; - - public static final int VERTICAL_LIST = LinearLayoutManager.VERTICAL; - private Drawable mDivider; private int mOrientation; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/MainDrawerBuilder.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/MainDrawerBuilder.java index 94b66b646..b23e7f4d2 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/MainDrawerBuilder.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/MainDrawerBuilder.java @@ -46,7 +46,6 @@ public class MainDrawerBuilder { public static final int SIDEBAR_ABOUT = 14; - public static AccountHeaderBuilder CreateDefaultAccountHeader(final Activity activity) { return new AccountHeaderBuilder() .withActivity(activity) @@ -140,7 +139,7 @@ public class MainDrawerBuilder { break; } case SIDEBAR_NEWS: { - fragment= new NewsFragment(); + fragment = new NewsFragment(); break; } case SIDEBAR_SETTINGS: { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/BaseTaskViewHolder.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/BaseTaskViewHolder.java index 6b1fe32da..b1e4873b6 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/BaseTaskViewHolder.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/BaseTaskViewHolder.java @@ -22,10 +22,8 @@ import rx.schedulers.Schedulers; public class BaseTaskViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { - protected Context context; - public Task task; - + protected Context context; @BindView(R.id.checkedTextView) TextView titleTextView; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/ChecklistedViewHolder.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/ChecklistedViewHolder.java index 812c944d6..00249d292 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/ChecklistedViewHolder.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/ChecklistedViewHolder.java @@ -29,29 +29,24 @@ import butterknife.OnClick; public abstract class ChecklistedViewHolder extends BaseTaskViewHolder implements CompoundButton.OnCheckedChangeListener { + public Boolean displayChecklist; @BindView(R.id.checkBoxHolder) ViewGroup checkboxHolder; - @BindView(R.id.checkBox) CheckBox checkbox; - @BindView(R.id.checklistView) LinearLayout checklistView; @BindView(R.id.checklistSeparator) View checklistSeparator; @BindView(R.id.checklistBottomSpace) View checklistBottomSpace; - @BindView(R.id.checklistIndicatorWrapper) ViewGroup checklistIndicatorWrapper; - @BindView(R.id.checkListCompletedTextView) TextView checklistCompletedTextView; @BindView(R.id.checkListAllTextView) TextView checklistAllTextView; - public Boolean displayChecklist; - public ChecklistedViewHolder(View itemView) { super(itemView); checklistIndicatorWrapper.setClickable(true); @@ -126,13 +121,13 @@ public abstract class ChecklistedViewHolder extends BaseTaskViewHolder implement this.setDisplayChecklist(true); } if (this.displayChecklist) { - RecyclerView recyclerView = (RecyclerView)this.checklistView.getParent().getParent(); - LinearLayoutManager layoutManager = (LinearLayoutManager)recyclerView.getLayoutManager(); + RecyclerView recyclerView = (RecyclerView) this.checklistView.getParent().getParent(); + LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager(); layoutManager.scrollToPositionWithOffset(this.getAdapterPosition(), 15); } } - public void expandCheckboxTouchArea(final View expandedView, final View checkboxView){ + public void expandCheckboxTouchArea(final View expandedView, final View checkboxView) { expandedView.post(() -> { Rect rect = new Rect(); expandedView.getHitRect(rect); @@ -146,12 +141,12 @@ public abstract class ChecklistedViewHolder extends BaseTaskViewHolder implement if (isChecked != task.getCompleted()) { TaskCheckedCommand event = new TaskCheckedCommand(); event.Task = task; - event.completed = !task.getCompleted(); + event.completed = !task.getCompleted(); // it needs to be changed after the event is send -> to the server // maybe a refactor is needed here EventBus.getDefault().post(event); - task.completed =event.completed; + task.completed = event.completed; task.save(); } } else { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/DailyViewHolder.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/DailyViewHolder.java index 243e346aa..a82eea690 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/DailyViewHolder.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/DailyViewHolder.java @@ -10,11 +10,10 @@ import butterknife.BindView; public class DailyViewHolder extends ChecklistedViewHolder { + public final int dailyResetOffset; @BindView(R.id.streakTextView) TextView streakTextView; - public final int dailyResetOffset; - public DailyViewHolder(View itemView, int dailyResetOffset) { super(itemView); this.dailyResetOffset = dailyResetOffset; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/RewardViewHolder.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/RewardViewHolder.java index 788794b1f..cd1ddbc49 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/RewardViewHolder.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/RewardViewHolder.java @@ -70,7 +70,7 @@ public class RewardViewHolder extends BaseTaskViewHolder { @Override public void onClick(View v) { - if(task.specialTag != null && task.specialTag.equals("item")) { + if (task.specialTag != null && task.specialTag.equals("item")) { LinearLayout contentViewForDialog = createContentViewForGearDialog(); AlertDialog dialog = createGearDialog(contentViewForDialog); dialog.show(); @@ -85,7 +85,7 @@ public class RewardViewHolder extends BaseTaskViewHolder { private AlertDialog createGearDialog(LinearLayout contentViewForDialog) { return new AlertDialog.Builder(context) .setPositiveButton(R.string.reward_dialog_buy, (dialog, which) -> { - this.buyReward(); + this.buyReward(); }) .setTitle(this.task.getText()) .setView(contentViewForDialog) @@ -109,7 +109,7 @@ public class RewardViewHolder extends BaseTaskViewHolder { LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); gearImageLayoutParams.gravity = Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL; - gearImageLayoutParams.setMargins(0,0,0,20); + gearImageLayoutParams.setMargins(0, 0, 0, 20); gearImageView.setMinimumWidth(200); gearImageView.setMinimumHeight(200); gearImageView.setLayoutParams(gearImageLayoutParams); @@ -117,7 +117,7 @@ public class RewardViewHolder extends BaseTaskViewHolder { // Gear Description TextView contentTextView = new TextView(context, null); - if(!content.isEmpty()){ + if (!content.isEmpty()) { contentTextView.setText(content); } @@ -147,14 +147,14 @@ public class RewardViewHolder extends BaseTaskViewHolder { goldPriceLayout.addView(gold); goldPriceLayout.addView(priceTextView); - if(gearImageView.getDrawable()!= null){ + if (gearImageView.getDrawable() != null) { contentViewLayout.addView(gearImageView); } contentViewLayout.setGravity(Gravity.CENTER_VERTICAL); contentViewLayout.addView(goldPriceLayout); - if(!content.isEmpty()){ + if (!content.isEmpty()) { contentViewLayout.addView(contentTextView); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/userpicture/BitmapUtils.java b/Habitica/src/main/java/com/habitrpg/android/habitica/userpicture/BitmapUtils.java index 0df10d37f..ac7c90ea0 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/userpicture/BitmapUtils.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/userpicture/BitmapUtils.java @@ -74,9 +74,9 @@ public class BitmapUtils { private static boolean createNomedia() { //Returns true if .nomedia was created/already existed and false if not try { - File cacheDir = new File (getSavePath()); + File cacheDir = new File(getSavePath()); cacheDir.mkdirs(); - File nomediaFile = new File (getSavePath() + "/.nomedia"); + File nomediaFile = new File(getSavePath() + "/.nomedia"); if (!nomediaFile.isFile()) return nomediaFile.createNewFile(); } catch (IOException e) { } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/userpicture/UserPicture.java b/Habitica/src/main/java/com/habitrpg/android/habitica/userpicture/UserPicture.java index 6604a79e6..840ccc787 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/userpicture/UserPicture.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/userpicture/UserPicture.java @@ -23,25 +23,22 @@ import java.util.concurrent.atomic.AtomicInteger; public class UserPicture { + final protected static char[] hexArray = "0123456789ABCDEF".toCharArray(); private static final int WIDTH = 140; private static final int HEIGHT = 147; private static final int COMPACT_WIDTH = 114; private static final int COMPACT_HEIGHT = 114; - + final List layers = new ArrayList<>(); + final List targets = new ArrayList<>(); private HabitRPGUser user; private ImageView imageView; private UserPictureRunnable runnable; private Context context; private AtomicInteger numOfTasks = new AtomicInteger(0); - private boolean hasBackground, hasPetMount; private boolean userHasBackground, userHasPet, userHasMount; - private String currentCacheFileName; - final List layers = new ArrayList<>(); - final List targets = new ArrayList<>(); - public UserPicture(Context context) { this.context = context; this.hasBackground = true; @@ -54,6 +51,30 @@ public class UserPicture { this.hasPetMount = hasPetMount; } + private static String generateHashCode(String value) { + byte[] digest = new byte[0]; + try { + MessageDigest md = MessageDigest.getInstance("MD5"); + + md.update(value.getBytes()); + digest = md.digest(); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + + return bytesToHex(digest); + } + + public static String bytesToHex(byte[] bytes) { + char[] hexChars = new char[bytes.length * 2]; + for (int j = 0; j < bytes.length; j++) { + int v = bytes[j] & 0xFF; + hexChars[j * 2] = hexArray[v >>> 4]; + hexChars[j * 2 + 1] = hexArray[v & 0x0F]; + } + return new String(hexChars); + } + public void setUser(HabitRPGUser user) { this.user = user; } @@ -120,7 +141,7 @@ public class UserPicture { Bitmap cache = this.getCachedImage(layerNames); // yes => load image to bitmap - if(cache != null){ + if (cache != null) { runnable.run(cache); return; } @@ -212,32 +233,6 @@ public class UserPicture { } } - private static String generateHashCode(String value) { - byte[] digest = new byte[0]; - try { - MessageDigest md = MessageDigest.getInstance("MD5"); - - md.update(value.getBytes()); - digest = md.digest(); - } catch (NoSuchAlgorithmException e) { - e.printStackTrace(); - } - - return bytesToHex(digest); - } - - final protected static char[] hexArray = "0123456789ABCDEF".toCharArray(); - - public static String bytesToHex(byte[] bytes) { - char[] hexChars = new char[bytes.length * 2]; - for (int j = 0; j < bytes.length; j++) { - int v = bytes[j] & 0xFF; - hexChars[j * 2] = hexArray[v >>> 4]; - hexChars[j * 2 + 1] = hexArray[v & 0x0F]; - } - return new String(hexChars); - } - private void modifyCanvas(Bitmap img, Canvas canvas, Integer layerNumber) { Paint paint = new Paint(); paint.setFilterBitmap(false); @@ -254,14 +249,14 @@ public class UserPicture { if (this.userHasMount) { if (((this.userHasBackground && layerNumber > 1) || (!this.userHasBackground && layerNumber > 0)) && - ((this.userHasPet && layerNumber < (this.layers.size()-2)) || - (!this.userHasPet && layerNumber < this.layers.size()-1))) { + ((this.userHasPet && layerNumber < (this.layers.size() - 2)) || + (!this.userHasPet && layerNumber < this.layers.size() - 1))) { yOffset = 0; } } } - if (this.hasPetMount && this.userHasPet && layerNumber == this.layers.size()-1) { + if (this.hasPetMount && this.userHasPet && layerNumber == this.layers.size() - 1) { xOffset = 0; yOffset = 43; } @@ -270,6 +265,15 @@ public class UserPicture { new Rect(xOffset, yOffset, img.getWidth() + xOffset, img.getHeight() + yOffset), paint); } + private String getFileName(String imageName) { + if (imageName.equals("head_special_1")) { + return "ContributorOnly-Equip-CrystalHelmet.gif"; + } else if (imageName.equals("armor_special_1")) { + return "ContributorOnly-Equip-CrystalArmor.gif"; + } + return imageName + ".png"; + } + private class SpriteTarget implements Target { private Integer layerNumber; @@ -300,15 +304,6 @@ public class UserPicture { } } - private String getFileName(String imageName) { - if (imageName.equals("head_special_1")) { - return "ContributorOnly-Equip-CrystalHelmet.gif"; - } else if (imageName.equals("armor_special_1")) { - return "ContributorOnly-Equip-CrystalArmor.gif"; - } - return imageName+".png"; - } - } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/widget/SimpleWidget.java b/Habitica/src/main/java/com/habitrpg/android/habitica/widget/SimpleWidget.java index 4c0f07076..681a72c00 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/widget/SimpleWidget.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/widget/SimpleWidget.java @@ -21,6 +21,21 @@ import android.widget.RemoteViews; public class SimpleWidget extends AppWidgetProvider { private static final String LOG = "simplewidgetprovider"; + /** + * Returns number of cells needed for given size of the widget.
+ * see http://stackoverflow.com/questions/14270138/dynamically-adjusting-widgets-content-and-layout-to-the-size-the-user-defined-t + * + * @param size Widget size in dp. + * @return Size in number of cells. + */ + private static int getCellsForSize(int size) { + int n = 2; + while (70 * n - 30 < size) { + ++n; + } + return n - 1; + } + @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { Log.w(LOG, "onUpdate method called"); @@ -55,14 +70,9 @@ public class SimpleWidget extends AppWidgetProvider { } - /** * Determine appropriate view based on width provided.
* see http://stackoverflow.com/questions/14270138/dynamically-adjusting-widgets-content-and-layout-to-the-size-the-user-defined-t - * - * @param minWidth - * @param minHeight - * @return */ private RemoteViews getRemoteViews(Context context, int minWidth, int minHeight) { @@ -82,20 +92,5 @@ public class SimpleWidget extends AppWidgetProvider { } - /** - * Returns number of cells needed for given size of the widget.
- * see http://stackoverflow.com/questions/14270138/dynamically-adjusting-widgets-content-and-layout-to-the-size-the-user-defined-t - * - * @param size Widget size in dp. - * @return Size in number of cells. - */ - private static int getCellsForSize(int size) { - int n = 2; - while (70 * n - 30 < size) { - ++n; - } - return n - 1; - } - } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/widget/UpdateWidgetService.java b/Habitica/src/main/java/com/habitrpg/android/habitica/widget/UpdateWidgetService.java index 2561e6d3d..4d48dad35 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/widget/UpdateWidgetService.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/widget/UpdateWidgetService.java @@ -25,14 +25,13 @@ import javax.inject.Inject; */ public class UpdateWidgetService extends Service implements HabitRPGUserCallback.OnUserReceived { private static final String LOG = ".simplewidget.service"; - private AppWidgetManager appWidgetManager; - @Inject public APIHelper apiHelper; + private AppWidgetManager appWidgetManager; public UpdateWidgetService() { super(); - ((HabiticaApplication)getApplication()).getComponent().inject(this); + ((HabiticaApplication) getApplication()).getComponent().inject(this); } @Override diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/api/Server.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/api/Server.java index 16f62ebf8..606a85e86 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/api/Server.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/api/Server.java @@ -6,23 +6,19 @@ package com.magicmicky.habitrpgwrapper.lib.api; public class Server { private String addr; - public Server(String addr) - { + public Server(String addr) { this(addr, true); } - public Server(String addr, boolean attachSuffix) - { - if(attachSuffix){ - if(addr.endsWith("/api/v3") || addr.endsWith("/api/v3/")) - this.addr=addr; - else if(addr.endsWith("/")) - this.addr=addr + "api/v3/"; + public Server(String addr, boolean attachSuffix) { + if (attachSuffix) { + if (addr.endsWith("/api/v3") || addr.endsWith("/api/v3/")) + this.addr = addr; + else if (addr.endsWith("/")) + this.addr = addr + "api/v3/"; else this.addr = addr + "/api/v3/"; - } - else - { + } else { this.addr = addr; } } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Authentication.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Authentication.java index 81343289d..a8532569e 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Authentication.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Authentication.java @@ -17,21 +17,24 @@ import com.raizlabs.android.dbflow.structure.BaseModel; @Table(databaseName = HabitDatabase.NAME) public class Authentication extends BaseModel { - @Column - @PrimaryKey - @NotNull - String user_id; - @SerializedName("local") @Column @ForeignKey(references = {@ForeignKeyReference(columnName = "localauthentication_user_id", columnType = String.class, foreignColumnName = "user_id")}) public LocalAuthentication localAuthentication; + @Column + @PrimaryKey + @NotNull + String user_id; - public LocalAuthentication getLocalAuthentication() { return localAuthentication; } + public LocalAuthentication getLocalAuthentication() { + return localAuthentication; + } - public void setLocalAuthentication(LocalAuthentication LocalAuthentication) {this.localAuthentication = LocalAuthentication; } + public void setLocalAuthentication(LocalAuthentication LocalAuthentication) { + this.localAuthentication = LocalAuthentication; + } @Override public void save() { diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/BasicStats.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/BasicStats.java index 1fc708719..8551051a8 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/BasicStats.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/BasicStats.java @@ -16,17 +16,15 @@ import com.raizlabs.android.dbflow.structure.BaseModel; @Table(databaseName = HabitDatabase.NAME) public class BasicStats extends BaseModel { - @Column - @PrimaryKey - @NotNull - String id; - @Column public Float con, str, per; - @Column @SerializedName("int") public Float _int; + @Column + @PrimaryKey + @NotNull + String id; public Float getCon() { return con != null ? con : Float.valueOf(0); diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Buffs.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Buffs.java index 8f6853bb0..9d15df86b 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Buffs.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Buffs.java @@ -17,15 +17,16 @@ public class Buffs extends BasicStats { private Boolean streaks; public Buffs() { - this(false,false); + this(false, false); } + public Buffs(Boolean snowball, Boolean streaks) { this.snowball = snowball; this.streaks = streaks; } public Boolean getSnowball() { - return snowball != null ? snowball: Boolean.FALSE; + return snowball != null ? snowball : Boolean.FALSE; } public void setSnowball(Boolean snowball) { diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/ChatMessage.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/ChatMessage.java index f1a23f9ff..d26568bef 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/ChatMessage.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/ChatMessage.java @@ -55,9 +55,9 @@ public class ChatMessage { if (contributor != null) { - if (CONTRIBUTOR_COLOR_DICT.containsKey(contributor.level)) { - rColor = CONTRIBUTOR_COLOR_DICT.get(contributor.level); - } + if (CONTRIBUTOR_COLOR_DICT.containsKey(contributor.level)) { + rColor = CONTRIBUTOR_COLOR_DICT.get(contributor.level); + } } if (backer != null) { diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/ContentGear.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/ContentGear.java index 6cd68e096..51b7c7d8e 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/ContentGear.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/ContentGear.java @@ -4,7 +4,7 @@ import com.magicmicky.habitrpgwrapper.lib.models.tasks.ItemData; import java.util.List; -public class ContentGear{ +public class ContentGear { public List flat; diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Customization.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Customization.java index 0a1ea008a..71ee1d566 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Customization.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Customization.java @@ -31,14 +31,25 @@ public class Customization extends BaseModel { this.id = this.identifier + "_" + this.type + "_" + this.category; } + public String getId() { + return this.id; + } + + public void setId(String id) { + this.id = id; + } + + public String getIdentifier() { + return this.identifier; + } + public void setIdentifier(String identifier) { this.identifier = identifier; this.updateID(); } - public void setType(String type) { - this.type = type; - this.updateID(); + public String getCategory() { + return this.category; } public void setCategory(String category) { @@ -46,25 +57,46 @@ public class Customization extends BaseModel { this.updateID(); } - public void setId(String id) {this.id = id;} - public void setNotes(String notes) {this.notes = notes;} - public void setCustomizationSet(String customizationSet) {this.customizationSet = customizationSet;} - public void setCustomizationSetName(String customizationSetName) {this.customizationSetName = customizationSetName;} - public void setText(String text) {this.text = text;} - public void setPurchased(boolean purchased) {this.purchased = purchased;} - public void setPrice(Integer price) {this.price = price;} - public void setSetPrice(Integer setPrice) {this.setPrice = setPrice; } - public void setAvailableUntil(Date availableUntil) {this.availableUntil = availableUntil; } - public void setAvailableFrom(Date availableFrom) {this.availableFrom = availableFrom; } + public String getType() { + return this.type; + } - public String getId() { return this.id; } - public String getIdentifier() { return this.identifier; } - public String getCategory() { return this.category; } - public String getType() { return this.type; } - public String getNotes() { return this.notes; } - public String getCustomizationSet() { return this.customizationSet; } - public String getCustomizationSetName() { return this.customizationSetName; } - public String getText() { return this.text; } + public void setType(String type) { + this.type = type; + this.updateID(); + } + + public String getNotes() { + return this.notes; + } + + public void setNotes(String notes) { + this.notes = notes; + } + + public String getCustomizationSet() { + return this.customizationSet; + } + + public void setCustomizationSet(String customizationSet) { + this.customizationSet = customizationSet; + } + + public String getCustomizationSetName() { + return this.customizationSetName; + } + + public void setCustomizationSetName(String customizationSetName) { + this.customizationSetName = customizationSetName; + } + + public String getText() { + return this.text; + } + + public void setText(String text) { + this.text = text; + } @SuppressWarnings("RedundantIfStatement") public boolean getPurchasable() { @@ -81,11 +113,46 @@ public class Customization extends BaseModel { return true; } - public boolean getPurchased() { return this.purchased; } - public Integer getPrice() { return this.price; } - public Integer getSetPrice() { return this.setPrice; } - public Date getAvailableFrom() { return this.availableFrom; } - public Date getAvailableUntil() { return this.availableUntil; } + + public boolean getPurchased() { + return this.purchased; + } + + public void setPurchased(boolean purchased) { + this.purchased = purchased; + } + + public Integer getPrice() { + return this.price; + } + + public void setPrice(Integer price) { + this.price = price; + } + + public Integer getSetPrice() { + return this.setPrice; + } + + public void setSetPrice(Integer setPrice) { + this.setPrice = setPrice; + } + + public Date getAvailableFrom() { + return this.availableFrom; + } + + public void setAvailableFrom(Date availableFrom) { + this.availableFrom = availableFrom; + } + + public Date getAvailableUntil() { + return this.availableUntil; + } + + public void setAvailableUntil(Date availableUntil) { + this.availableUntil = availableUntil; + } public String getImageName(String userSize, String hairColor) { @@ -110,7 +177,7 @@ public class Customization extends BaseModel { case "background": return "background_" + this.identifier; } - return ""; + return ""; } public boolean isUsable() { diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/DefaultResponse.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/DefaultResponse.java index ddc623ab8..091ec2d09 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/DefaultResponse.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/DefaultResponse.java @@ -5,7 +5,7 @@ package com.magicmicky.habitrpgwrapper.lib.models; */ public class DefaultResponse { private boolean result; - // private HabitRPGData habitRPGData; + // private HabitRPGData habitRPGData; public boolean isResult() { return result; diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Flags.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Flags.java index c38367d8d..6fb1340e2 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Flags.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Flags.java @@ -22,13 +22,10 @@ public class Flags extends BaseModel { @PrimaryKey @NotNull String user_id; - + List tutorial; @Column private boolean showTour, dropsEnabled, itemsEnabled, newStuff, classSelected, rebirthEnabled, welcomed, armoireEnabled, armoireOpened, armoireEmpty; - List tutorial; - - @OneToMany(methods = {OneToMany.Method.SAVE, OneToMany.Method.DELETE}, variableName = "tutorial") public List getTutorial() { if (tutorial == null) { @@ -40,6 +37,10 @@ public class Flags extends BaseModel { return tutorial; } + public void setTutorial(List tutorial) { + this.tutorial = tutorial; + } + public String getUser_id() { return user_id; } @@ -48,10 +49,6 @@ public class Flags extends BaseModel { this.user_id = user_id; } - public void setTutorial(List tutorial) { - this.tutorial = tutorial; - } - public boolean getShowTour() { return showTour; } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Gear.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Gear.java index 3eb097019..8c29b40ce 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Gear.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Gear.java @@ -18,25 +18,22 @@ import java.util.HashMap; @Table(databaseName = HabitDatabase.NAME) public class Gear extends BaseModel { + public HashMap owned; @Column @PrimaryKey @NotNull String user_id; - @Column @ForeignKey(references = {@ForeignKeyReference(columnName = "equipped_id", columnType = String.class, foreignColumnName = "user_id")}) private Outfit equipped; - @Column @ForeignKey(references = {@ForeignKeyReference(columnName = "costume_id", columnType = String.class, foreignColumnName = "user_id")}) private Outfit costume; - public HashMap owned; - public Outfit getCostume() { return costume; } @@ -55,8 +52,8 @@ public class Gear extends BaseModel { @Override public void save() { - equipped.user_id = user_id+"_equipped"; - costume.user_id = user_id+"_costume"; + equipped.user_id = user_id + "_equipped"; + costume.user_id = user_id + "_costume"; super.save(); } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/HabitRPGUser.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/HabitRPGUser.java index aaf5d8d1a..2cde7fef6 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/HabitRPGUser.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/HabitRPGUser.java @@ -25,17 +25,15 @@ import java.util.List; @Table(databaseName = HabitDatabase.NAME) public class HabitRPGUser extends BaseModel { - @Column - @PrimaryKey - @SerializedName("_id") - private String id; - List dailys; List todos; List rewards; List habits; List tags; - + @Column + @PrimaryKey + @SerializedName("_id") + private String id; @Column private double balance; @@ -102,26 +100,6 @@ public class HabitRPGUser extends BaseModel { this.id = id; } - public void setDailys(List dailys) { - this.dailys = dailys; - } - - public void setTodos(List todos) { - this.todos = todos; - } - - public void setRewards(List rewards) { - this.rewards = rewards; - } - - public void setHabits(List habits) { - this.habits = habits; - } - - public void setTags(List tags) { - this.tags = tags; - } - public Stats getStats() { return stats; } @@ -155,14 +133,14 @@ public class HabitRPGUser extends BaseModel { this.items.user_id = id; } - public void setBalance(double balance) { - this.balance = balance; - } - public double getBalance() { return this.balance; } + public void setBalance(double balance) { + this.balance = balance; + } + public Authentication getAuthentication() { return authentication; } @@ -171,8 +149,13 @@ public class HabitRPGUser extends BaseModel { this.authentication = authentication; } - public Purchases getPurchased() { return purchased; } - public void setPurchased(Purchases purchased) { this.purchased = purchased; } + public Purchases getPurchased() { + return purchased; + } + + public void setPurchased(Purchases purchased) { + this.purchased = purchased; + } @OneToMany(methods = {OneToMany.Method.SAVE, OneToMany.Method.DELETE}, variableName = "habits") public List getHabits() { @@ -186,6 +169,10 @@ public class HabitRPGUser extends BaseModel { return habits; } + public void setHabits(List habits) { + this.habits = habits; + } + @OneToMany(methods = {OneToMany.Method.SAVE, OneToMany.Method.DELETE}, variableName = "dailys") public List getDailys() { if (dailys == null) { @@ -198,6 +185,10 @@ public class HabitRPGUser extends BaseModel { return dailys; } + public void setDailys(List dailys) { + this.dailys = dailys; + } + @OneToMany(methods = {OneToMany.Method.SAVE, OneToMany.Method.DELETE}, variableName = "todos") public List getTodos() { if (todos == null) { @@ -210,6 +201,10 @@ public class HabitRPGUser extends BaseModel { return todos; } + public void setTodos(List todos) { + this.todos = todos; + } + @OneToMany(methods = {OneToMany.Method.SAVE, OneToMany.Method.DELETE}, variableName = "rewards") public List getRewards() { if (rewards == null) { @@ -222,6 +217,10 @@ public class HabitRPGUser extends BaseModel { return rewards; } + public void setRewards(List rewards) { + this.rewards = rewards; + } + @OneToMany(methods = {OneToMany.Method.SAVE, OneToMany.Method.DELETE}, variableName = "tags") public List getTags() { if (tags == null) { @@ -233,6 +232,10 @@ public class HabitRPGUser extends BaseModel { return tags; } + public void setTags(List tags) { + this.tags = tags; + } + public Flags getFlags() { return flags; } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Hair.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Hair.java index 69dc72e6a..fb6c6fe01 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Hair.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Hair.java @@ -16,13 +16,14 @@ public class Hair extends BaseModel { public String userId; @Column - private int mustache,beard, bangs,base, flower; + private int mustache, beard, bangs, base, flower; @Column private String color; public Hair() { } + public Hair(int mustache, int beard, int bangs, int base, String color, int flower) { this.mustache = mustache; this.beard = beard; @@ -72,9 +73,13 @@ public class Hair extends BaseModel { this.color = color; } - public int getFlower() { return flower; } + public int getFlower() { + return flower; + } - public void setFlower(int flower) { this.flower = flower; } + public void setFlower(int flower) { + this.flower = flower; + } public boolean isAvailable(int hairId) { return hairId > 0; diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Items.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Items.java index d99f77354..acf9bc44f 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Items.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Items.java @@ -19,30 +19,24 @@ import java.util.HashMap; @Table(databaseName = HabitDatabase.NAME) public class Items extends BaseModel { - @Column - @PrimaryKey - @NotNull - String user_id; - - @Column - private String currentMount, currentPet; - - @Column - private int lastDrop_count; - - @Column - private Date lastDrop_date; - public HashMap eggs; public HashMap food; public HashMap hatchingPotions; public HashMap quests; - + @Column + @PrimaryKey + @NotNull + String user_id; HashMap pets; HashMap mounts; + @Column + private String currentMount, currentPet; + @Column + private int lastDrop_count; + @Column + private Date lastDrop_date; //private QuestContent quest; - @Column @ForeignKey(references = {@ForeignKeyReference(columnName = "gear_id", columnType = String.class, @@ -56,6 +50,9 @@ public class Items extends BaseModel { this.lastDrop_date = lastDrop_date; } + public Items() { + } + public String getCurrentMount() { return currentMount; } @@ -152,8 +149,6 @@ public class Items extends BaseModel { this.mounts = mounts; } - public Items() {} - @Override public void save() { gear.user_id = user_id; diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/LocalAuthentication.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/LocalAuthentication.java index 46d28351e..9cb0a75a8 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/LocalAuthentication.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/LocalAuthentication.java @@ -21,9 +21,19 @@ public class LocalAuthentication extends BaseModel { @Column String email, username; - public String getEmail() { return email; } - public String getUsername() { return username; } + public String getEmail() { + return email; + } - public void setEmail(String email) {this.email = email; } - public void setUsername(String username) {this.username = username; } + public void setEmail(String email) { + this.email = email; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Outfit.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Outfit.java index ba899a95c..7264b71ff 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Outfit.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Outfit.java @@ -32,29 +32,69 @@ public class Outfit extends BaseModel { @Column String headAccessory; - public String getArmor() {return armor;} - public void setArmor(String armor) {this.armor = armor;} + public String getArmor() { + return armor; + } - public String getBack() {return back;} - public void setBack(String back) {this.back = back;} + public void setArmor(String armor) { + this.armor = armor; + } - public String getBody() {return body;} - public void setBody(String body) {this.body = body;} + public String getBack() { + return back; + } - public String getEyeWear() {return eyeWear;} - public void setEyeWear(String eyeWear) {this.eyeWear = eyeWear;} + public void setBack(String back) { + this.back = back; + } - public String getHead() {return head;} - public void setHead(String head) {this.head = head;} + public String getBody() { + return body; + } - public String getHeadAccessory() {return headAccessory;} - public void setHeadAccessory(String headAccessory) {this.headAccessory = headAccessory;} + public void setBody(String body) { + this.body = body; + } - public String getShield() {return shield;} - public void setShield(String shield) {this.shield = shield;} + public String getEyeWear() { + return eyeWear; + } - public String getWeapon() {return weapon;} - public void setWeapon(String weapon) {this.weapon = weapon;} + public void setEyeWear(String eyeWear) { + this.eyeWear = eyeWear; + } + + public String getHead() { + return head; + } + + public void setHead(String head) { + this.head = head; + } + + public String getHeadAccessory() { + return headAccessory; + } + + public void setHeadAccessory(String headAccessory) { + this.headAccessory = headAccessory; + } + + public String getShield() { + return shield; + } + + public void setShield(String shield) { + this.shield = shield; + } + + public String getWeapon() { + return weapon; + } + + public void setWeapon(String weapon) { + this.weapon = weapon; + } public boolean isAvailable(String outfit) { return !TextUtils.isEmpty(outfit) && !outfit.endsWith("base_0"); diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/PlayerMinStats.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/PlayerMinStats.java index 5edf08658..2f24ce362 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/PlayerMinStats.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/PlayerMinStats.java @@ -35,7 +35,6 @@ public abstract class PlayerMinStats extends BasicStats { public Double gp, exp, mp, hp; - public BasicStats getTraining() { return training; } @@ -72,6 +71,10 @@ public abstract class PlayerMinStats extends BasicStats { return _class; } + public void set_class(HabitRpgClass _class) { + this._class = _class; + } + public String getCleanedClassName() { if (_class.toString().equals("wizard")) { return "mage"; @@ -79,10 +82,6 @@ public abstract class PlayerMinStats extends BasicStats { return _class.toString(); } - public void set_class(HabitRpgClass _class) { - this._class = _class; - } - public Double getGp() { return gp != null ? gp : Double.valueOf(0); } @@ -117,7 +116,7 @@ public abstract class PlayerMinStats extends BasicStats { @Override public void save() { - training.id = id+"_training"; + training.id = id + "_training"; buffs.id = id; super.save(); diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Preferences.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Preferences.java index f336c1e0b..4bc91aa48 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Preferences.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Preferences.java @@ -16,31 +16,26 @@ import com.raizlabs.android.dbflow.structure.BaseModel; @Table(databaseName = HabitDatabase.NAME) public class Preferences extends BaseModel { - @Column - @PrimaryKey - @NotNull - String user_id; - - @Column - private boolean costume, toolbarCollapsed, advancedCollapsed, tagsCollapsed, newTaskEdit, disableClasses, stickyHeader, sleep, hideHeader; - - @Column - private String allocationMode, shirt, skin, size, background, chair; - - @Column - private int dayStart, timezoneOffset; - @Column @ForeignKey(references = {@ForeignKeyReference(columnName = "hair_user_id", columnType = String.class, foreignColumnName = "userId")}) public Hair hair; - @Column @ForeignKey(references = {@ForeignKeyReference(columnName = "suppressedModals_user_id", columnType = String.class, foreignColumnName = "userId")}) public SuppressedModals suppressModals; + @Column + @PrimaryKey + @NotNull + String user_id; + @Column + private boolean costume, toolbarCollapsed, advancedCollapsed, tagsCollapsed, newTaskEdit, disableClasses, stickyHeader, sleep, hideHeader; + @Column + private String allocationMode, shirt, skin, size, background, chair; + @Column + private int dayStart, timezoneOffset; public Preferences() { } @@ -105,10 +100,6 @@ public class Preferences extends BaseModel { return disableClasses; } - public void setDisableClasses(boolean disableClasses) { - this.disableClasses = disableClasses; - } - public boolean getStickyHeader() { return stickyHeader; } @@ -121,10 +112,6 @@ public class Preferences extends BaseModel { return sleep; } - public void setSleep(boolean sleep) { - this.sleep = sleep; - } - public boolean getHideHeader() { return hideHeader; } @@ -191,7 +178,7 @@ public class Preferences extends BaseModel { public String getChair() { if (chair != null && !chair.equals("none")) { - return "chair_"+chair; + return "chair_" + chair; } return null; } @@ -204,10 +191,18 @@ public class Preferences extends BaseModel { return sleep; } + public void setSleep(boolean sleep) { + this.sleep = sleep; + } + public boolean isDisableClasses() { return disableClasses; } + public void setDisableClasses(boolean disableClasses) { + this.disableClasses = disableClasses; + } + @Override public void save() { hair.userId = user_id; diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Profile.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Profile.java index ec07712ac..ab2479d62 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Profile.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Profile.java @@ -26,14 +26,19 @@ public class Profile extends BaseModel { private String blurb, imageUrl; public Profile(String name) { - this(name, "",""); + this(name, "", ""); } + public Profile(String name, String blurb, String imageUrl) { this.name = name; this.blurb = blurb; this.imageUrl = imageUrl; } + public Profile() { + + } + public String getName() { return name; } @@ -57,8 +62,4 @@ public class Profile extends BaseModel { public void setImageUrl(String imageUrl) { this.imageUrl = imageUrl; } - - public Profile() { - - } } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/PurchaseValidationResult.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/PurchaseValidationResult.java index 77a99d5d2..36a6a9703 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/PurchaseValidationResult.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/PurchaseValidationResult.java @@ -1,6 +1,6 @@ package com.magicmicky.habitrpgwrapper.lib.models; -public class PurchaseValidationResult{ +public class PurchaseValidationResult { public boolean ok; public Object data; } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Quest.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Quest.java index 85a86e3f4..7fabd71a3 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Quest.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Quest.java @@ -40,6 +40,9 @@ public class Quest extends BaseModel { this.progress = progress; } + public Quest() { + } + public QuestProgress getProgress() { return progress; } @@ -55,6 +58,4 @@ public class Quest extends BaseModel { public void setKey(String key) { this.key = key; } - - public Quest() {} } \ No newline at end of file diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/QuestBoss.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/QuestBoss.java index bdebb00d0..0bd135dcb 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/QuestBoss.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/QuestBoss.java @@ -44,6 +44,23 @@ public class QuestBoss extends BaseModel { @Column public String rage_market; + public QuestBossRage rage; + + @Override + public void save() { + // Just to save the Json-Object as DB-Columns + + if (rage != null && rage.title != null && !rage.title.isEmpty()) { + rage_title = rage.title; + rage_description = rage.description; + rage_value = rage.value; + rage_tavern = rage.tavern; + rage_stables = rage.stables; + rage_market = rage.market; + } + + super.save(); + } public class QuestBossRage { public String title; @@ -58,22 +75,4 @@ public class QuestBoss extends BaseModel { public String market; } - - public QuestBossRage rage; - - @Override - public void save() { - // Just to save the Json-Object as DB-Columns - - if(rage != null && rage.title != null && !rage.title.isEmpty()){ - rage_title = rage.title; - rage_description = rage.description; - rage_value = rage.value; - rage_tavern = rage.tavern; - rage_stables = rage.stables; - rage_market = rage.market; - } - - super.save(); - } } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/QuestCollect.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/QuestCollect.java index f4d7d8afc..75091d54f 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/QuestCollect.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/QuestCollect.java @@ -13,14 +13,11 @@ public class QuestCollect extends BaseModel { @Column public String quest_key; - + @Column + public String text; + @Column + public int count; @Column @PrimaryKey(autoincrement = true) long id; - - @Column - public String text; - - @Column - public int count; } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/QuestProgress.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/QuestProgress.java index 04fec54aa..21cc8fc7f 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/QuestProgress.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/QuestProgress.java @@ -14,23 +14,23 @@ import java.util.HashMap; @Table(databaseName = HabitDatabase.NAME) public class QuestProgress extends BaseModel { + @Column + public double hp, rage; + public HashMap collect; @Column @PrimaryKey(autoincrement = true) long id; - @Column private float down, up; - @Column - public double hp, rage; - - public HashMap collect; - private QuestProgress(float down, float up) { this.down = down; this.up = up; } + public QuestProgress() { + } + public float getDown() { return down; } @@ -46,6 +46,4 @@ public class QuestProgress extends BaseModel { public void setUp(float up) { this.up = up; } - - public QuestProgress() {} } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Stats.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Stats.java index aa1772442..7a32284fa 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Stats.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Stats.java @@ -9,7 +9,7 @@ import com.raizlabs.android.dbflow.annotation.Table; */ @Table(databaseName = HabitDatabase.NAME, allFields = true) -public class Stats extends PlayerMinStats{ +public class Stats extends PlayerMinStats { @Column private Integer toNextLevel, maxHealth, maxMP; diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/SuppressedModals.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/SuppressedModals.java index 2199031f9..15fd6bab0 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/SuppressedModals.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/SuppressedModals.java @@ -21,13 +21,35 @@ public class SuppressedModals extends BaseModel { @Column private Boolean streak, raisePet, hatchPet, levelUp; - public Boolean getStreak() {return streak; } - public Boolean getRaisePet() {return raisePet; } - public Boolean getHatchPet() {return hatchPet; } - public Boolean getLevelUp() {return levelUp; } + public Boolean getStreak() { + return streak; + } - public void setStreak(Boolean streak) {this.streak = streak; } - public void setRaisePet(Boolean raisePet) {this.raisePet = raisePet; } - public void setHatchPet(Boolean hatchPet) {this.hatchPet = hatchPet; } - public void setLevelUp(Boolean levelUp) {this.levelUp = levelUp; } + public void setStreak(Boolean streak) { + this.streak = streak; + } + + public Boolean getRaisePet() { + return raisePet; + } + + public void setRaisePet(Boolean raisePet) { + this.raisePet = raisePet; + } + + public Boolean getHatchPet() { + return hatchPet; + } + + public void setHatchPet(Boolean hatchPet) { + this.hatchPet = hatchPet; + } + + public Boolean getLevelUp() { + return levelUp; + } + + public void setLevelUp(Boolean levelUp) { + this.levelUp = levelUp; + } } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Tag.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Tag.java index 2643bca74..3bb1a1d86 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Tag.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Tag.java @@ -30,14 +30,12 @@ public class Tag extends BaseModel { @Column @NotNull public String user_id; - + public List tasks; @Column String name; - public List tasks; - public Tag() { - this(null,null); + this(null, null); } public Tag(String id, String name) { @@ -46,7 +44,7 @@ public class Tag extends BaseModel { } public List getTasks() { - if(tasks == null) { + if (tasks == null) { tasks = new Select() .from(TaskTag.class) .where(Condition.column("tag_id").eq(this.id)).and(Condition.column("task_id").isNotNull()) @@ -84,7 +82,7 @@ public class Tag extends BaseModel { @Override public boolean equals(Object o) { if (o.getClass().equals(Tag.class)) { - Tag otherTag = (Tag)o; + Tag otherTag = (Tag) o; return this.getId().equals(otherTag.getId()); } return super.equals(o); diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/TaskDirection.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/TaskDirection.java index 0ae0cb54c..94bb1bb6d 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/TaskDirection.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/TaskDirection.java @@ -7,9 +7,11 @@ public enum TaskDirection { up("up"), down("down"); private final String dir; + TaskDirection(String dir) { - this.dir=dir; + this.dir = dir; } + public String toString() { return this.dir; } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/TaskDirectionData.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/TaskDirectionData.java index c53b9e7f2..069c6a927 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/TaskDirectionData.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/TaskDirectionData.java @@ -6,7 +6,7 @@ package com.magicmicky.habitrpgwrapper.lib.models; * It also holds a delta, which represent the task value modification. * Created by MagicMicky on 12/06/2014. */ -public class TaskDirectionData extends PlayerMinStats{ +public class TaskDirectionData extends PlayerMinStats { private float delta; private TaskDirectionDataTemp _tmp; @@ -18,6 +18,11 @@ public class TaskDirectionData extends PlayerMinStats{ this.delta = delta; } - public TaskDirectionDataTemp get_tmp() { return _tmp; } - public void set_tmp(TaskDirectionDataTemp tmp) { this._tmp = tmp; } + public TaskDirectionDataTemp get_tmp() { + return _tmp; + } + + public void set_tmp(TaskDirectionDataTemp tmp) { + this._tmp = tmp; + } } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/TaskDirectionDataDrop.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/TaskDirectionDataDrop.java index 90e60b622..c122b21f2 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/TaskDirectionDataDrop.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/TaskDirectionDataDrop.java @@ -10,14 +10,36 @@ public class TaskDirectionDataDrop { private String type; private String dialog; - public int getValue() {return value; } - public String getKey() {return key; } - public String getType() {return type; } - public String getDialog() {return dialog; } + public int getValue() { + return value; + } - public void setValue(int value) {this.value = value; } - public void setKey(String key) {this.key = key; } - public void setType(String type) {this.type = type; } - public void setDialog(String dialog) {this.dialog = dialog; } + public void setValue(int value) { + this.value = value; + } + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getDialog() { + return dialog; + } + + public void setDialog(String dialog) { + this.dialog = dialog; + } } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/TaskDirectionDataTemp.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/TaskDirectionDataTemp.java index e1efc2da0..2cb62c504 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/TaskDirectionDataTemp.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/TaskDirectionDataTemp.java @@ -7,7 +7,12 @@ public class TaskDirectionDataTemp { private TaskDirectionDataDrop drop; - public TaskDirectionDataDrop getDrop() { return this.drop; } - public void setDrop(TaskDirectionDataDrop drop) { this.drop = drop; } + public TaskDirectionDataDrop getDrop() { + return this.drop; + } + + public void setDrop(TaskDirectionDataDrop drop) { + this.drop = drop; + } } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Transaction.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Transaction.java index 0c1063a16..a41aae5cb 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Transaction.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/Transaction.java @@ -1,7 +1,6 @@ package com.magicmicky.habitrpgwrapper.lib.models; -public class Transaction -{ +public class Transaction { public String receipt; public String signature; diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/TutorialStep.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/TutorialStep.java index fdca8076a..4b377f85d 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/TutorialStep.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/TutorialStep.java @@ -11,13 +11,11 @@ import java.util.Date; @Table(databaseName = HabitDatabase.NAME) public class TutorialStep extends BaseModel { + @Column + public String user_id; @PrimaryKey @Column private String key; - - @Column - public String user_id; - @Column private String tutorialGroup, identifier; diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/UserAuth.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/UserAuth.java index bc5d9d496..e72478c35 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/UserAuth.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/UserAuth.java @@ -33,7 +33,11 @@ public class UserAuth { this.confirmPassword = confirmPassword; } - public String getEmail() { return email; } + public String getEmail() { + return email; + } - public void setEmail(String email) { this.email = email; } + public void setEmail(String email) { + this.email = email; + } } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/ChecklistItem.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/ChecklistItem.java index 59c81fec1..ee638d592 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/ChecklistItem.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/ChecklistItem.java @@ -16,19 +16,6 @@ import com.raizlabs.android.dbflow.structure.container.ForeignKeyContainer; @Table(databaseName = HabitDatabase.NAME) public class ChecklistItem extends BaseModel { - @Column - @PrimaryKey - private String id; - - @Column - private String text; - - @Column - private boolean completed; - - @Column - private int position; - @Column @ForeignKey( references = {@ForeignKeyReference(columnName = "task_id", @@ -37,46 +24,71 @@ public class ChecklistItem extends BaseModel { saveForeignKeyModel = false) @ExcludeCheckListItem ForeignKeyContainer task; + @Column + @PrimaryKey + private String id; + @Column + private String text; + @Column + private boolean completed; + @Column + private int position; public ChecklistItem() { - this(null,null); + this(null, null); } + public ChecklistItem(String id, String text) { this(id, text, false); } - public ChecklistItem(String id,String text, boolean completed) { + + public ChecklistItem(String id, String text, boolean completed) { this.setText(text); this.setId(id); this.setCompleted(completed); } + public ChecklistItem(String s) { - this(null,s); + this(null, s); } + public ChecklistItem(ChecklistItem item) { this.text = item.getText(); - this.id= item.getId(); - this.completed=item.getCompleted(); + this.id = item.getId(); + this.completed = item.getCompleted(); } + public String getText() { return text; } + public void setText(String text) { this.text = text; } + public String getId() { return id; } + public void setId(String id) { this.id = id; } + public boolean getCompleted() { return completed; } + public void setCompleted(boolean completed) { this.completed = completed; } - public int getPosition() { return this.position; } - public void setPosition(int position) { this.position = position; } + + public int getPosition() { + return this.position; + } + + public void setPosition(int position) { + this.position = position; + } public Task getTask() { if (task != null) { diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/Days.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/Days.java index 30ee3603e..b420481c2 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/Days.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/Days.java @@ -21,15 +21,16 @@ public class Days extends BaseModel { String task_id; @Column - private boolean m, t,w, th,f,s,su; + private boolean m, t, w, th, f, s, su; + public Days() { - this.m=false; - this.t=false; - this.w=false; - this.th=false; - this.f=false; - this.s=true; - this.su=true; + this.m = false; + this.t = false; + this.w = false; + this.th = false; + this.f = false; + this.s = true; + this.su = true; } public boolean getT() { @@ -90,13 +91,20 @@ public class Days extends BaseModel { public boolean getForDay(int day) { switch (day) { - case 2: return this.getM(); - case 3: return this.getT(); - case 4: return this.getW(); - case 5: return this.getTh(); - case 6: return this.getF(); - case 7: return this.getS(); - case 1: return this.getSu(); + case 2: + return this.getM(); + case 3: + return this.getT(); + case 4: + return this.getW(); + case 5: + return this.getTh(); + case 6: + return this.getF(); + case 7: + return this.getS(); + case 1: + return this.getSu(); } return false; } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/ItemData.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/ItemData.java index a97da6bf4..ea35ee474 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/ItemData.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/ItemData.java @@ -13,40 +13,32 @@ import com.raizlabs.android.dbflow.structure.BaseModel; */ @Table(databaseName = HabitDatabase.NAME) public class ItemData extends BaseModel { - public ItemData(){} - @Column public double value; - @Column public String type; - @PrimaryKey @Column public String key; - @Column public String klass; - @Column(name = "_index") public String index; - @Column public String text; - @Column public String notes; - @Column public float con, str, per; - @Column @SerializedName("int") public float _int; - @Column public Boolean owned; + public ItemData() { + } + public double getValue() { return value; } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/RemindersItem.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/RemindersItem.java index 2b6542fb3..14d8598c4 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/RemindersItem.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/RemindersItem.java @@ -17,19 +17,6 @@ import java.util.Date; */ @Table(databaseName = HabitDatabase.NAME) public class RemindersItem extends BaseModel { - @Column - @PrimaryKey - private String id; - - @Column - private Date startDate; - - @Column - private Date time; - - @Column - private Integer alarmId; - @Column @ForeignKey( references = {@ForeignKeyReference(columnName = "task_id", @@ -38,10 +25,20 @@ public class RemindersItem extends BaseModel { saveForeignKeyModel = false) @ExcludeCheckListItem ForeignKeyContainer task; + @Column + @PrimaryKey + private String id; + @Column + private Date startDate; + @Column + private Date time; + @Column + private Integer alarmId; public String getId() { return id; } + public void setId(String id) { this.id = id; } @@ -49,6 +46,7 @@ public class RemindersItem extends BaseModel { public Integer getAlarmId() { return this.alarmId; } + public void setAlarmId(Integer alarmId) { this.alarmId = alarmId; } @@ -56,6 +54,7 @@ public class RemindersItem extends BaseModel { public Date getStartDate() { return startDate; } + public void setStartDate(Date startDate) { this.startDate = startDate; } @@ -63,6 +62,7 @@ public class RemindersItem extends BaseModel { public Date getTime() { return time; } + public void setTime(Date time) { this.time = time; } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/Task.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/Task.java index 37aa3cc67..23fb51107 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/Task.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/Task.java @@ -39,77 +39,55 @@ public class Task extends BaseModel { public static final String ATTRIBUTE_CONSTITUTION = "con"; public static final String ATTRIBUTE_INTELLIGENCE = "int"; public static final String ATTRIBUTE_PERCEPTION = "per"; - - @Column - @PrimaryKey - @NotNull - @SerializedName("_id") - String id; - @Column @SerializedName("userId") public String user_id; - @Column public Float priority; - @Column public String text, notes, attribute, type; - @Column public double value; - - public List tags; - @Column public Date dateCreated; - @Column public int position; - //Habits @Column public Boolean up, down; - - //todos/dailies @Column public boolean completed; - public List checklist; public List reminders; - - //dailies @Column public String frequency; - @Column public Integer everyX, streak; - @Column public Date startDate; - @Column @ForeignKey(references = {@ForeignKeyReference(columnName = "days_id", columnType = String.class, foreignColumnName = "task_id")}) public Days repeat; - //TODO: private String lastCompleted; - - //todos @Column @SerializedName("date") public Date duedate; - + //TODO: private String lastCompleted; // used for buyable items public String specialTag; - public CharSequence parsedText; public CharSequence parsedNotes; + @Column + @PrimaryKey + @NotNull + @SerializedName("_id") + String id; /** * @return the id @@ -117,54 +95,72 @@ public class Task extends BaseModel { public String getId() { return id; } + /** * @param id the id to set */ public void setId(String id) { this.id = id; } + /** * @return the notes */ public String getNotes() { return notes; } + /** * @param notes the notes to set */ public void setNotes(String notes) { this.notes = notes; } + /** * @return the priority */ public Float getPriority() { return priority; } + /** * @param i the priority to set */ public void setPriority(Float i) { this.priority = i; } + /** * @return the text */ public String getText() { return text; } + /** * @param text the text to set */ public void setText(String text) { this.text = text; } + /** * @return the value */ public double getValue() { return value; } + + /** + * To be allowed to set int value without problems + * + * @param value the value to set + */ + public void setValue(double value) { + this.setValue(Double.valueOf(value)); + } + /** * @param value the value to set */ @@ -172,26 +168,22 @@ public class Task extends BaseModel { this.value = value; } - /** - * To be allowed to set int value without problems - * @param value the value to set - */ - public void setValue(double value) { - this.setValue(Double.valueOf(value)); - } - - /** * Returns a string of the type of the Task + * * @return the string of the Item type */ - public String getType() {return this.type;} + public String getType() { + return this.type; + } - public void setType(String type) {this.type = type;} + public void setType(String type) { + this.type = type; + } @OneToMany(methods = {OneToMany.Method.SAVE, OneToMany.Method.DELETE}, variableName = "tags") public List getTags() { - if(tags == null) { + if (tags == null) { tags = new Select() .from(TaskTag.class) .where(Condition.column("task_id").eq(this.id)) @@ -207,11 +199,11 @@ public class Task extends BaseModel { this.tags = tags; } - public boolean containsAnyTagId(ArrayList tagIdList){ + public boolean containsAnyTagId(ArrayList tagIdList) { getTags(); - for (TaskTag t : tags){ - if(tagIdList.contains(t.getTag().getId())) { + for (TaskTag t : tags) { + if (tagIdList.contains(t.getTag().getId())) { return true; } } @@ -219,12 +211,12 @@ public class Task extends BaseModel { return false; } - public boolean containsAllTagIds(List tagIdList){ + public boolean containsAllTagIds(List tagIdList) { getTags(); ArrayList allTagIds = new ArrayList(); - for (TaskTag t : tags){ + for (TaskTag t : tags) { allTagIds.add(t.getTag().getId()); } @@ -235,26 +227,31 @@ public class Task extends BaseModel { * @return whether or not the habit can be "upped" */ public boolean getUp() { - if (up == null) { return false; } + if (up == null) { + return false; + } return up; } + /** * Set the Up value - * @param up */ public void setUp(Boolean up) { this.up = up; } + /** * @return whether or not the habit can be "down" */ public boolean getDown() { - if (down == null) { return false; } + if (down == null) { + return false; + } return down; } + /** * Set the Down value - * @param down */ public void setDown(Boolean down) { this.down = down; @@ -264,9 +261,9 @@ public class Task extends BaseModel { public boolean getCompleted() { return completed; } + /** - * Set whether or not the daily is completed - * @param completed + * Set whether or not the daily is completed */ public void setCompleted(Boolean completed) { this.completed = completed; @@ -275,7 +272,7 @@ public class Task extends BaseModel { @OneToMany(methods = {OneToMany.Method.SAVE, OneToMany.Method.DELETE}, variableName = "checklist") public List getChecklist() { - if(this.checklist == null) { + if (this.checklist == null) { this.checklist = new Select() .from(ChecklistItem.class) .where(Condition.column("task_id").eq(this.id)) @@ -294,7 +291,7 @@ public class Task extends BaseModel { @OneToMany(methods = {OneToMany.Method.SAVE, OneToMany.Method.DELETE}, variableName = "reminders") public List getReminders() { - if(this.reminders == null) { + if (this.reminders == null) { this.reminders = new Select() .from(RemindersItem.class) .where(Condition.column("task_id").eq(this.id)) @@ -322,20 +319,37 @@ public class Task extends BaseModel { } public String getFrequency() { - if (frequency == null) { return FREQUENCY_WEEKLY; } - return frequency; } - public void setFrequency(String frequency) { this.frequency = frequency; } + if (frequency == null) { + return FREQUENCY_WEEKLY; + } + return frequency; + } + + public void setFrequency(String frequency) { + this.frequency = frequency; + } public Integer getEveryX() { - if (everyX == null) { return 1; } - return everyX; } - public void setEveryX(Integer everyX) { this.everyX = everyX; } + if (everyX == null) { + return 1; + } + return everyX; + } + + public void setEveryX(Integer everyX) { + this.everyX = everyX; + } public Date getStartDate() { - if (startDate == null) { return new Date(); } + if (startDate == null) { + return new Date(); + } return startDate; } - public void setStartDate(Date startDate) {this.startDate = startDate; } + + public void setStartDate(Date startDate) { + this.startDate = startDate; + } /** * @return the repeat array.
@@ -347,6 +361,7 @@ public class Task extends BaseModel { } return repeat; } + /** * @param repeat the repeat array to set */ @@ -354,15 +369,16 @@ public class Task extends BaseModel { this.repeat = repeat; } - /** - * @return the streak - */ + /** + * @return the streak + */ public int getStreak() { if (streak == null) { return 0; } return streak; } + /** * @param streak the streak to set */ @@ -380,6 +396,7 @@ public class Task extends BaseModel { /** * Set the due date + * * @param duedate the date to set */ public void setDueDate(Date duedate) { @@ -392,6 +409,7 @@ public class Task extends BaseModel { public String getAttribute() { return attribute; } + /** * @param attribute the attribute to set */ @@ -415,7 +433,7 @@ public class Task extends BaseModel { checklist = null; reminders = null; - if(repeat != null) + if (repeat != null) repeat.task_id = this.id; super.save(); @@ -434,7 +452,7 @@ public class Task extends BaseModel { int position = 0; if (this.checklist != null) { for (ChecklistItem item : this.checklist) { - if(item.getTask() == null){ + if (item.getTask() == null) { item.setTask(this); } item.setPosition(position); @@ -446,10 +464,10 @@ public class Task extends BaseModel { int index = 0; if (this.reminders != null) { for (RemindersItem item : this.reminders) { - if(item.getTask() == null) { + if (item.getTask() == null) { item.setTask(this); } - if(item.getId() == null) { + if (item.getId() == null) { item.setId(this.id + "task-reminder" + index); } item.async().save(); @@ -466,8 +484,7 @@ public class Task extends BaseModel { super.update(); } - public int getLightTaskColor() - { + public int getLightTaskColor() { if (this.value < -20) return R.color.worst_100; if (this.value < -10) @@ -488,8 +505,7 @@ public class Task extends BaseModel { * * @return the color resource id */ - public int getMediumTaskColor() - { + public int getMediumTaskColor() { if (this.value < -20) return R.color.worst_50; if (this.value < -10) @@ -511,8 +527,7 @@ public class Task extends BaseModel { * * @return the color resource id */ - public int getDarkTaskColor() - { + public int getDarkTaskColor() { if (this.value < -20) return R.color.worst_10; if (this.value < -10) @@ -545,7 +560,7 @@ public class Task extends BaseModel { startDate.get(Calendar.MONTH), startDate.get(Calendar.DAY_OF_MONTH)); - if ( startDateAtMidnight.after(today) ) { + if (startDateAtMidnight.after(today)) { return false; } } else { @@ -555,7 +570,7 @@ public class Task extends BaseModel { } if (this.getFrequency().equals(FREQUENCY_DAILY)) { - if(getEveryX() == 0){ + if (getEveryX() == 0) { return false; } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/TaskTag.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/TaskTag.java index 7e74aba97..115bb7293 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/TaskTag.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/TaskTag.java @@ -18,23 +18,23 @@ import com.raizlabs.android.dbflow.structure.container.ForeignKeyContainer; @Table(databaseName = HabitDatabase.NAME) public class TaskTag extends BaseModel { - @Column - @PrimaryKey - String id; - @Column @ForeignKey(references = {@ForeignKeyReference(columnName = "tag_id", columnType = String.class, foreignColumnName = "id")}, saveForeignKeyModel = false) public ForeignKeyContainer tag; - @Column @ForeignKey(references = {@ForeignKeyReference(columnName = "task_id", columnType = String.class, foreignColumnName = "id")}, saveForeignKeyModel = false) public ForeignKeyContainer task; + @Column + @PrimaryKey + String id; + private String tagId = ""; + private String taskId = ""; public String getId() { return id; @@ -70,10 +70,7 @@ public class TaskTag extends BaseModel { updatePrimaryKey(); } - private String tagId = ""; - private String taskId = ""; - - private void updatePrimaryKey(){ - this.id = taskId+"_"+tagId; + private void updatePrimaryKey() { + this.id = taskId + "_" + tagId; } } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/ChatMessageDeserializer.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/ChatMessageDeserializer.java index 51de6b4f2..0e5193c3e 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/ChatMessageDeserializer.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/ChatMessageDeserializer.java @@ -29,7 +29,8 @@ public class ChatMessageDeserializer implements JsonDeserializer { message.timestamp = obj.get("timestamp").getAsLong(); } if (obj.has("likes")) { - message.likes = context.deserialize(obj.get("likes"), new TypeToken>() {}.getType()); + message.likes = context.deserialize(obj.get("likes"), new TypeToken>() { + }.getType()); } if (obj.has("flagCount")) { message.flagCount = obj.get("flagCount").getAsInt(); diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/ContentDeserializer.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/ContentDeserializer.java index 11ad635a5..b366cc7b7 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/ContentDeserializer.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/ContentDeserializer.java @@ -47,23 +47,34 @@ public class ContentDeserializer implements JsonDeserializer { items.add(result.armoire); items.addAll(result.gear.flat); - result.quests = context.deserialize(object.get("quests"), new TypeToken>() {}.getType()); - result.eggs = context.deserialize(object.get("eggs"), new TypeToken>() {}.getType()); - result.food = context.deserialize(object.get("food"), new TypeToken>() {}.getType()); - result.hatchingPotions = context.deserialize(object.get("hatchingPotions"), new TypeToken>() {}.getType()); + result.quests = context.deserialize(object.get("quests"), new TypeToken>() { + }.getType()); + result.eggs = context.deserialize(object.get("eggs"), new TypeToken>() { + }.getType()); + result.food = context.deserialize(object.get("food"), new TypeToken>() { + }.getType()); + result.hatchingPotions = context.deserialize(object.get("hatchingPotions"), new TypeToken>() { + }.getType()); items.addAll(result.quests); items.addAll(result.eggs); items.addAll(result.food); items.addAll(result.hatchingPotions); - result.pets = context.deserialize(object.get("pets"), new TypeToken>() {}.getType()); - result.specialPets = context.deserialize(object.get("specialPets"), new TypeToken>() {}.getType()); - result.premiumPets = context.deserialize(object.get("premiumPets"), new TypeToken>() {}.getType()); - result.questPets = context.deserialize(object.get("questPets"), new TypeToken>() {}.getType()); - result.mounts = context.deserialize(object.get("mounts"), new TypeToken>() {}.getType()); - result.specialMounts = context.deserialize(object.get("specialMounts"), new TypeToken>() {}.getType()); - result.questMounts = context.deserialize(object.get("questMounts"), new TypeToken>() {}.getType()); + result.pets = context.deserialize(object.get("pets"), new TypeToken>() { + }.getType()); + result.specialPets = context.deserialize(object.get("specialPets"), new TypeToken>() { + }.getType()); + result.premiumPets = context.deserialize(object.get("premiumPets"), new TypeToken>() { + }.getType()); + result.questPets = context.deserialize(object.get("questPets"), new TypeToken>() { + }.getType()); + result.mounts = context.deserialize(object.get("mounts"), new TypeToken>() { + }.getType()); + result.specialMounts = context.deserialize(object.get("specialMounts"), new TypeToken>() { + }.getType()); + result.questMounts = context.deserialize(object.get("questMounts"), new TypeToken>() { + }.getType()); for (Egg egg : result.eggs) { for (HatchingPotion potion : result.hatchingPotions) { @@ -122,7 +133,8 @@ public class ContentDeserializer implements JsonDeserializer { items.add(mount); } - result.spells = context.deserialize(object.get("spells"), new TypeToken>() {}.getType()); + result.spells = context.deserialize(object.get("spells"), new TypeToken>() { + }.getType()); List spellKeys = new ArrayList<>(); for (Skill skill : result.spells) { @@ -135,10 +147,13 @@ public class ContentDeserializer implements JsonDeserializer { } } - result.appearances = context.deserialize(object.get("appearances"), new TypeToken>() {}.getType()); - result.backgrounds = context.deserialize(object.get("backgrounds"), new TypeToken>() {}.getType()); + result.appearances = context.deserialize(object.get("appearances"), new TypeToken>() { + }.getType()); + result.backgrounds = context.deserialize(object.get("backgrounds"), new TypeToken>() { + }.getType()); - result.faq = context.deserialize(object.get("faq"), new TypeToken>() {}.getType()); + result.faq = context.deserialize(object.get("faq"), new TypeToken>() { + }.getType()); items.addAll(result.spells); diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/CustomizationDeserializer.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/CustomizationDeserializer.java index 6edb2152e..438bf855c 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/CustomizationDeserializer.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/CustomizationDeserializer.java @@ -31,7 +31,7 @@ public class CustomizationDeserializer implements JsonDeserializer existingCustomizations = new Select().from(Customization.class).where(Condition.column("type").isNot("background")).queryList(); for (Customization customization : existingCustomizations) { - if(object.has(customization.getType())) { + if (object.has(customization.getType())) { JsonObject nestedObject = object.get(customization.getType()).getAsJsonObject(); if (customization.getCategory() != null) { if (nestedObject.has(customization.getCategory())) { @@ -63,7 +63,7 @@ public class CustomizationDeserializer implements JsonDeserializer existingCustomizations = new Select().from(Customization.class).where(Condition.column("type").is("background")).queryList(); for (Customization customization : existingCustomizations) { - if(object.has(customization.getCustomizationSet())) { + if (object.has(customization.getCustomizationSet())) { JsonObject nestedObject = object.get(customization.getCustomizationSet()).getAsJsonObject(); if (nestedObject.has(customization.getIdentifier())) { customizations.add(this.parseBackground(customization, customization.getCustomizationSet(), customization.getIdentifier(), nestedObject.get(customization.getIdentifier()).getAsJsonObject())); diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/DaysUtils.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/DaysUtils.java index 18899efe9..31b6e2719 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/DaysUtils.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/DaysUtils.java @@ -7,7 +7,6 @@ import com.magicmicky.habitrpgwrapper.lib.models.tasks.Days; */ - public class DaysUtils { public static Days getDaysFromBooleans(boolean[] b) { Days d = new Days(); @@ -20,6 +19,7 @@ public class DaysUtils { d.setSu(b[6]); return d; } + public static boolean[] getBooleansFromDays(Days days) { boolean[] b = new boolean[7]; b[0] = days.getM(); diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/EggListDeserializer.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/EggListDeserializer.java index 584b1b1e9..d6eddd1b0 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/EggListDeserializer.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/EggListDeserializer.java @@ -24,7 +24,7 @@ public class EggListDeserializer implements JsonDeserializer> { List existingItems = new Select().from(Egg.class).queryList(); for (Egg item : existingItems) { - if(object.has(item.getKey())) { + if (object.has(item.getKey())) { JsonElement itemObject = object.get(item.getKey()); if (itemObject.isJsonObject()) { @@ -42,7 +42,7 @@ public class EggListDeserializer implements JsonDeserializer> { } } - for (Map.Entry entry : json.getAsJsonObject().entrySet()) { + for (Map.Entry entry : json.getAsJsonObject().entrySet()) { Egg item; if (entry.getValue().isJsonObject()) { item = context.deserialize(entry.getValue(), Egg.class); diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/FoodListDeserializer.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/FoodListDeserializer.java index f099d6e26..e9f6ceb0a 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/FoodListDeserializer.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/FoodListDeserializer.java @@ -24,7 +24,7 @@ public class FoodListDeserializer implements JsonDeserializer> { List existingItems = new Select().from(Food.class).queryList(); for (Food item : existingItems) { - if(object.has(item.getKey())) { + if (object.has(item.getKey())) { JsonElement itemObject = object.get(item.getKey()); if (itemObject.isJsonObject()) { @@ -43,7 +43,7 @@ public class FoodListDeserializer implements JsonDeserializer> { } } - for (Map.Entry entry : json.getAsJsonObject().entrySet()) { + for (Map.Entry entry : json.getAsJsonObject().entrySet()) { Food item; if (entry.getValue().isJsonObject()) { item = context.deserialize(entry.getValue(), Food.class); diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/GroupSerialization.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/GroupSerialization.java index 278d27e7a..492f5d06f 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/GroupSerialization.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/GroupSerialization.java @@ -53,7 +53,8 @@ public class GroupSerialization implements JsonDeserializer, JsonSerializ if (obj.has("members")) { JsonArray memberList = obj.get("members").getAsJsonArray(); if (memberList.size() > 0 && memberList.get(0).isJsonObject()) { - group.members = context.deserialize(memberList, new TypeToken>(){}.getType()); + group.members = context.deserialize(memberList, new TypeToken>() { + }.getType()); } } if (obj.has("leader")) { @@ -64,7 +65,7 @@ public class GroupSerialization implements JsonDeserializer, JsonSerializ group.leaderID = leader.get("_id").getAsString(); if (leader.has("profile") && !leader.get("profile").isJsonNull()) { if (leader.get("profile").getAsJsonObject().has("name")) - group.leaderName = leader.get("profile").getAsJsonObject().get("name").getAsString(); + group.leaderName = leader.get("profile").getAsJsonObject().get("name").getAsString(); } } } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/HatchingPotionListDeserializer.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/HatchingPotionListDeserializer.java index d9443e4bc..6053a5175 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/HatchingPotionListDeserializer.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/HatchingPotionListDeserializer.java @@ -24,7 +24,7 @@ public class HatchingPotionListDeserializer implements JsonDeserializer existingItems = new Select().from(HatchingPotion.class).queryList(); for (HatchingPotion item : existingItems) { - if(object.has(item.getKey())) { + if (object.has(item.getKey())) { JsonElement itemObject = object.get(item.getKey()); if (itemObject.isJsonObject()) { @@ -42,7 +42,7 @@ public class HatchingPotionListDeserializer implements JsonDeserializer entry : json.getAsJsonObject().entrySet()) { + for (Map.Entry entry : json.getAsJsonObject().entrySet()) { HatchingPotion item; if (entry.getValue().isJsonObject()) { item = context.deserialize(entry.getValue(), HatchingPotion.class); diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/ItemDataListDeserializer.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/ItemDataListDeserializer.java index 00eb235e1..0ef8fca41 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/ItemDataListDeserializer.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/ItemDataListDeserializer.java @@ -24,7 +24,7 @@ public class ItemDataListDeserializer implements JsonDeserializer List existingItems = new Select().from(ItemData.class).queryList(); for (ItemData item : existingItems) { - if(object.has(item.key)) { + if (object.has(item.key)) { JsonElement itemObject = object.get(item.key); if (itemObject.isJsonObject()) { @@ -45,7 +45,7 @@ public class ItemDataListDeserializer implements JsonDeserializer } } - for (Map.Entry entry : json.getAsJsonObject().entrySet()) { + for (Map.Entry entry : json.getAsJsonObject().entrySet()) { ItemData item; if (entry.getValue().isJsonObject()) { item = context.deserialize(entry.getValue(), ItemData.class); diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/MountListDeserializer.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/MountListDeserializer.java index a65af40a3..c34ef64c1 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/MountListDeserializer.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/MountListDeserializer.java @@ -15,7 +15,7 @@ public class MountListDeserializer implements JsonDeserializer deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { HashMap vals = new HashMap<>(); - for (Map.Entry entry : json.getAsJsonObject().entrySet()) { + for (Map.Entry entry : json.getAsJsonObject().entrySet()) { Mount pet = new Mount(); pet.setKey(entry.getKey()); pet.setAnimal(entry.getKey().split("-")[0]); diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/PetListDeserializer.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/PetListDeserializer.java index 4b07cd61e..aaa9137ef 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/PetListDeserializer.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/PetListDeserializer.java @@ -15,7 +15,7 @@ public class PetListDeserializer implements JsonDeserializer deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { HashMap vals = new HashMap<>(); - for (Map.Entry entry : json.getAsJsonObject().entrySet()) { + for (Map.Entry entry : json.getAsJsonObject().entrySet()) { Pet pet = new Pet(); pet.setKey(entry.getKey()); pet.setAnimal(entry.getKey().split("-")[0]); diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/PurchasedDeserializer.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/PurchasedDeserializer.java index d34711747..14e8a1168 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/PurchasedDeserializer.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/PurchasedDeserializer.java @@ -38,7 +38,7 @@ public class PurchasedDeserializer implements JsonDeserializer { existingCustomizations = new ArrayList<>(); } for (Customization customization : existingCustomizations) { - if(object.has(customization.getType())) { + if (object.has(customization.getType())) { JsonObject nestedObject = object.get(customization.getType()).getAsJsonObject(); if (customization.getCategory() != null) { if (nestedObject.has(customization.getCategory())) { @@ -58,7 +58,7 @@ public class PurchasedDeserializer implements JsonDeserializer { if (!object.has(type)) { continue; } - for (Map.Entry entry : object.get(type).getAsJsonObject().entrySet()) { + for (Map.Entry entry : object.get(type).getAsJsonObject().entrySet()) { customizations.add(this.parseCustomization(null, type, null, entry.getKey(), entry.getValue().getAsBoolean())); } } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/QuestListDeserializer.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/QuestListDeserializer.java index de71e5ba8..f5cfd0e79 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/QuestListDeserializer.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/QuestListDeserializer.java @@ -27,7 +27,7 @@ public class QuestListDeserializer implements JsonDeserializer existingItems = new Select().from(QuestContent.class).queryList(); for (QuestContent item : existingItems) { - if(object.has(item.getKey())) { + if (object.has(item.getKey())) { JsonElement itemObject = object.get(item.getKey()); if (itemObject.isJsonObject()) { @@ -49,7 +49,7 @@ public class QuestListDeserializer implements JsonDeserializer entry : json.getAsJsonObject().entrySet()) { + for (Map.Entry entry : json.getAsJsonObject().entrySet()) { QuestContent item; if (entry.getValue().isJsonObject()) { item = context.deserialize(entry.getValue(), QuestContent.class); diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/SkillDeserializer.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/SkillDeserializer.java index 84d08a005..6b0991465 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/SkillDeserializer.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/SkillDeserializer.java @@ -21,17 +21,17 @@ public class SkillDeserializer @Override public List deserialize(JsonElement json, Type type, - JsonDeserializationContext context) throws JsonParseException { + JsonDeserializationContext context) throws JsonParseException { JsonObject object = json.getAsJsonObject(); List skills = new ArrayList(); - for (Map.Entry classEntry : object.entrySet()) { + for (Map.Entry classEntry : object.entrySet()) { String classname = classEntry.getKey(); JsonObject classObject = classEntry.getValue().getAsJsonObject(); if (classname.equals("special")) { continue; } - for (Map.Entry skillEntry : classObject.entrySet()) { + for (Map.Entry skillEntry : classObject.entrySet()) { JsonObject skillObject = skillEntry.getValue().getAsJsonObject(); Skill skill = new Skill(); skill.key = skillObject.get("key").getAsString(); diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/TaskTagDeserializer.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/TaskTagDeserializer.java index d8419adde..ab76bb072 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/TaskTagDeserializer.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/utils/TaskTagDeserializer.java @@ -34,8 +34,7 @@ public class TaskTagDeserializer implements JsonDeserializer> { if (tag.getId().equals(tagId)) { taskTag.setTag(tag); - if(!alreadyContainsTag(taskTags, tagId)) - { + if (!alreadyContainsTag(taskTags, tagId)) { taskTags.add(taskTag); } @@ -49,8 +48,8 @@ public class TaskTagDeserializer implements JsonDeserializer> { } private boolean alreadyContainsTag(List list, String idToCheck) { - for(TaskTag t : list) { - if(t.getTag().getId().equals(idToCheck)) { + for (TaskTag t : list) { + if (t.getTag().getId().equals(idToCheck)) { return true; } }