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:
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