From f93d8ba5853395a3490adf8f18323a9c23241505 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Tue, 12 Apr 2016 15:04:10 +0200 Subject: [PATCH] fix deprecated usages --- Habitica/res/layout/activity_task_form.xml | 15 +- .../habitrpg/android/habitica/APIHelper.java | 43 ++--- .../habitica/NotificationPublisher.java | 3 +- .../habitica/prefs/CustomListPreference.java | 106 ++++++------ .../prefs/scanner/IntentIntegrator.java | 26 ++- .../habitica/ui/AvatarWithBarsViewModel.java | 9 +- .../android/habitica/ui/EditTextDrawer.java | 3 +- .../habitica/ui/MainDrawerBuilder.java | 156 +++++++++--------- .../habitica/ui/SectionIconDrawerItem.java | 3 +- .../habitica/ui/activities/AboutActivity.java | 2 +- .../ui/activities/GroupFormActivity.java | 56 +++---- .../habitica/ui/activities/IntroActivity.java | 7 +- .../habitica/ui/activities/LoginActivity.java | 21 +-- .../habitica/ui/activities/MainActivity.java | 89 ++++------ .../ui/activities/TaskFormActivity.java | 146 ++++++---------- .../CustomizationRecyclerViewAdapter.java | 72 ++++---- .../ui/adapter/SkillsRecyclerViewAdapter.java | 17 +- .../EquipmentRecyclerViewAdapter.java | 8 +- .../inventory/ItemRecyclerAdapter.java | 63 ++++--- .../social/ChatRecyclerViewAdapter.java | 2 +- .../PartyMemberRecyclerViewAdapter.java | 3 +- .../tasks/HabitItemRecyclerViewAdapter.java | 42 ++--- .../ui/fragments/DatePickerFragment.java | 11 +- .../ui/fragments/GemsPurchaseFragment.java | 16 +- .../MountDetailRecyclerFragment.java | 24 +-- .../inventory/PetDetailRecyclerFragment.java | 7 +- .../inventory/StableRecyclerFragment.java | 7 +- .../customization/AvatarOverviewFragment.java | 63 +------ .../equipment/EquipmentOverviewFragment.java | 127 +++----------- .../ui/fragments/social/ChatListFragment.java | 26 ++- .../social/GroupInformationFragment.java | 133 ++++++--------- .../ui/fragments/tasks/TasksFragment.java | 130 ++++++--------- .../habitica/ui/helpers/DataBindingUtils.java | 20 ++- .../habitica/ui/helpers/EmojiKeyboard.java | 84 ++++------ .../helpers/FloatingActionMenuBehavior.java | 17 +- .../habitica/ui/menu/BottomSheetMenuItem.java | 3 +- .../habitica/userpicture/UserPicture.java | 7 +- .../lib/models/HabitRPGUser.java | 2 +- .../lib/utils/DateDeserializerTest.java | 3 - 39 files changed, 594 insertions(+), 978 deletions(-) diff --git a/Habitica/res/layout/activity_task_form.xml b/Habitica/res/layout/activity_task_form.xml index 9b1d6110d..d96b87ac6 100644 --- a/Habitica/res/layout/activity_task_form.xml +++ b/Habitica/res/layout/activity_task_form.xml @@ -99,7 +99,6 @@ android:orientation="vertical" android:id="@+id/task_difficulty_wrapper"> @@ -158,8 +155,7 @@ android:orientation="horizontal"> { + request.addHeader("x-api-key", cfg.getApi()); + request.addHeader("x-api-user", cfg.getUser()); + request.addHeader("x-client", "habitica-android"); }; Type taskTagClassListType = new TypeToken>() { @@ -226,10 +223,8 @@ public class APIHelper implements ErrorHandler, Profiler { } public void retrieveUser(final HabitRPGUserCallback callback) { - new Thread(new Runnable() { - public void run() { - apiService.getUser(callback); - } + new Thread(() -> { + apiService.getUser(callback); }).start(); } @@ -346,23 +341,19 @@ public class APIHelper implements ErrorHandler, Profiler { } private void showConnectionProblemDialog(final String resourceTitleString, final String resourceMessageString){ - HabiticaApplication.currentActivity.runOnUiThread(new Runnable() { - public void run() { - if (!(HabiticaApplication.currentActivity).isFinishing()) { - AlertDialog.Builder builder = new AlertDialog.Builder(HabiticaApplication.currentActivity) - .setTitle(resourceTitleString) - .setMessage(resourceMessageString) - .setNeutralButton(android.R.string.ok, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - } - }); + HabiticaApplication.currentActivity.runOnUiThread(() -> { + if (!(HabiticaApplication.currentActivity).isFinishing()) { + AlertDialog.Builder builder = new AlertDialog.Builder(HabiticaApplication.currentActivity) + .setTitle(resourceTitleString) + .setMessage(resourceMessageString) + .setNeutralButton(android.R.string.ok, (dialog, which) -> { + }); - if (!resourceTitleString.isEmpty()) { - builder.setIcon(R.drawable.ic_warning_black); - } - - builder.show(); + if (!resourceTitleString.isEmpty()) { + builder.setIcon(R.drawable.ic_warning_black); } + + builder.show(); } }); } 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 5a33d6923..781452dbb 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/NotificationPublisher.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/NotificationPublisher.java @@ -8,6 +8,7 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.Build; +import android.support.v4.content.ContextCompat; import android.util.Log; import com.habitrpg.android.habitica.ui.activities.MainActivity; @@ -73,7 +74,7 @@ public class NotificationPublisher extends BroadcastReceiver { builder.setContentIntent(intent); if (currentapiVersion >= Build.VERSION_CODES.LOLLIPOP) { - builder.setColor(context.getResources().getColor(R.color.brand_300)); + builder.setColor(ContextCompat.getColor(context, R.color.brand_300)); } if (currentapiVersion >= Build.VERSION_CODES.JELLY_BEAN){ diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/prefs/CustomListPreference.java b/Habitica/src/main/java/com/habitrpg/android/habitica/prefs/CustomListPreference.java index f44f7a6c9..1ce0dfeca 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/prefs/CustomListPreference.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/prefs/CustomListPreference.java @@ -56,28 +56,23 @@ public class CustomListPreference extends ListPreference { } customListPreferenceAdapter = new CustomListPreferenceAdapter(mContext); - builder.setAdapter(customListPreferenceAdapter, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { + builder.setAdapter(customListPreferenceAdapter, (dialog, which) -> { - } }); - builder.setPositiveButton("OK", new OnClickListener() { - @Override - public void onClick(DialogInterface arg0, int arg1) { - if (value != null && value.equals("custom")) { - Log.d("commiting", "custom value"); - value = text.getText().toString(); - } - if (value == null || !value.startsWith("http")) { - Log.v("Commiting", "changing values to default"); - value = mContext.getString(R.string.SP_address_default); - } - - Log.d("Commiting", "putting string: " + value); - editor.putString(mContext.getString(R.string.SP_address), value); - editor.commit(); - arg0.dismiss(); + builder.setPositiveButton("OK", (arg0, arg1) -> { + if (value != null && value.equals("custom")) { + Log.d("commiting", "custom value"); + value = text.getText().toString(); } + if (value == null || !value.startsWith("http")) { + Log.v("Commiting", "changing values to default"); + value = mContext.getString(R.string.SP_address_default); + } + + Log.d("Commiting", "putting string: " + value); + editor.putString(mContext.getString(R.string.SP_address), value); + editor.commit(); + arg0.dismiss(); }); } @@ -119,15 +114,13 @@ public class CustomListPreference extends ListPreference { row.setTag(holder); // row.setClickable(true); - row.setOnClickListener(new View.OnClickListener() { - public void onClick(View v) { - if (!rButtonList.get(position).isChecked()) { - for (RadioButton rb : rButtonList) { - if (rb.getId() == position) { - Log.d("row.OnClickListener - " + position, "isChecked"); - if (!rb.isChecked()) - rb.setChecked(true); - } + row.setOnClickListener(v -> { + if (!rButtonList.get(position).isChecked()) { + for (RadioButton rb : rButtonList) { + if (rb.getId() == position) { + Log.d("row.OnClickListener - " + position, "isChecked"); + if (!rb.isChecked()) + rb.setChecked(true); } } } @@ -171,18 +164,16 @@ public class CustomListPreference extends ListPreference { // also need to do something to check your preference and set the right button as checked rButtonList.add(rButton); - rButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - if (isChecked) { - for (RadioButton rb : rButtonList) { - if (rb.getId() != buttonView.getId()) - rb.setChecked(false); - } - - int index = buttonView.getId(); - value = entryValues[index].toString(); - Log.v("NormalHolder.onCheckedChanged", "putting string" + value); + rButton.setOnCheckedChangeListener((buttonView, isChecked) -> { + if (isChecked) { + for (RadioButton rb : rButtonList) { + if (rb.getId() != buttonView.getId()) + rb.setChecked(false); } + + int index = buttonView.getId(); + value = entryValues[index].toString(); + Log.v("NormalHolder.onCheckedChanged", "putting string" + value); } }); } @@ -199,13 +190,10 @@ public class CustomListPreference extends ListPreference { text = (EditText) row.findViewById(R.id.ET_prefs_customText); text.setText(pref); - text.setOnFocusChangeListener(new OnFocusChangeListener() { - @Override - public void onFocusChange(View v, boolean hasFocus) { - if (hasFocus) { - if (!rButton.isChecked()) - rButton.setChecked(true); - } + text.setOnFocusChangeListener((v, hasFocus) -> { + if (hasFocus) { + if (!rButton.isChecked()) + rButton.setChecked(true); } }); getDialog().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); @@ -213,21 +201,19 @@ public class CustomListPreference extends ListPreference { // also need to do something to check your preference and set the right button as checked - rButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - if (isChecked) { - for (RadioButton rb : rButtonList) { - if (rb != buttonView) - rb.setChecked(false); - } - if (!text.hasFocus()) - text.requestFocus(); - value = String.valueOf("custom"); - Log.v("CustomHolder.onCheckedChanged", "putting string" + value); - } else { - if (text.hasFocus()) - text.clearFocus(); + rButton.setOnCheckedChangeListener((buttonView, isChecked) -> { + if (isChecked) { + for (RadioButton rb : rButtonList) { + if (rb != buttonView) + rb.setChecked(false); } + if (!text.hasFocus()) + text.requestFocus(); + value = String.valueOf("custom"); + Log.v("CustomHolder.onCheckedChanged", "putting string" + value); + } else { + if (text.hasFocus()) + text.clearFocus(); } }); } 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 579357176..15785fbcf 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 @@ -303,24 +303,18 @@ public class IntentIntegrator { AlertDialog.Builder downloadDialog = new AlertDialog.Builder(activity); downloadDialog.setTitle(title); downloadDialog.setMessage(message); - downloadDialog.setPositiveButton(buttonYes, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialogInterface, int i) { - String packageName = targetApplications.get(0); - Uri uri = Uri.parse("market://details?id=" + packageName); - Intent intent = new Intent(Intent.ACTION_VIEW, uri); - try { - activity.startActivity(intent); - } catch (ActivityNotFoundException anfe) { - // Hmm, market is not installed - Log.w(TAG, "Google Play is not installed; cannot install " + packageName, anfe); - } + downloadDialog.setPositiveButton(buttonYes, (dialogInterface, i) -> { + String packageName = targetApplications.get(0); + Uri uri = Uri.parse("market://details?id=" + packageName); + Intent intent = new Intent(Intent.ACTION_VIEW, uri); + try { + activity.startActivity(intent); + } catch (ActivityNotFoundException anfe) { + // Hmm, market is not installed + Log.w(TAG, "Google Play is not installed; cannot install " + packageName, anfe); } }); - downloadDialog.setNegativeButton(buttonNo, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialogInterface, int i) { - } + downloadDialog.setNegativeButton(buttonNo, (dialogInterface, i) -> { }); return downloadDialog.show(); } 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 ed002422b..e526a543c 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 @@ -5,6 +5,7 @@ import android.content.Context; import android.databinding.DataBindingUtil; import android.graphics.drawable.Drawable; import android.os.Build; +import android.support.v4.content.ContextCompat; import android.support.v4.content.res.ResourcesCompat; import android.util.Log; import android.view.View; @@ -135,7 +136,7 @@ public class AvatarWithBarsViewModel implements View.OnClickListener { maxHP = 50; } - setValueBar(valueBar, (float) Math.ceil(stats.getHp().floatValue()), maxHP, ctx.getString(R.string.HP_default), ctx.getResources().getColor(R.color.hpColor), R.drawable.ic_header_heart); + 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(Stats stats) { @@ -148,7 +149,7 @@ public class AvatarWithBarsViewModel implements View.OnClickListener { } else { cachedMaxHealth = valueMax; } - setValueBar(hpBar, (float) Math.ceil(value), valueMax, context.getString(R.string.HP_default), context.getResources().getColor(R.color.hpColor), R.drawable.ic_header_heart); + 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){ @@ -157,7 +158,7 @@ public class AvatarWithBarsViewModel implements View.OnClickListener { } else { cachedMaxExp = valueMax; } - setValueBar(xpBar, (float) Math.floor(value), valueMax, context.getString(R.string.XP_default), context.getResources().getColor(R.color.xpColor), R.drawable.ic_header_exp); + 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){ @@ -166,7 +167,7 @@ public class AvatarWithBarsViewModel implements View.OnClickListener { } else { cachedMaxMana = valueMax; } - setValueBar(mpBar, (float) Math.floor(value), valueMax, context.getString(R.string.MP_default), context.getResources().getColor(R.color.mpColor), R.drawable.ic_header_magic); + 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 diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/EditTextDrawer.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/EditTextDrawer.java index ad0ad6108..a8c391e3d 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/EditTextDrawer.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/EditTextDrawer.java @@ -1,5 +1,6 @@ package com.habitrpg.android.habitica.ui; +import android.support.v4.content.ContextCompat; import android.view.View; import android.widget.Button; import android.widget.EditText; @@ -58,7 +59,7 @@ public class EditTextDrawer extends BasePrimaryDrawerItem false) .withSelectionListEnabledForSingleProfile(false); } @@ -102,87 +97,84 @@ public class MainDrawerBuilder { ) .withStickyFooterDivider(false) - .withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { - @Override - public boolean onItemClick(View view, int position, IDrawerItem drawerItem) { - BaseMainFragment fragment = null; - Class newActivityClass = null; + .withOnDrawerItemClickListener((view, position, drawerItem) -> { + BaseMainFragment fragment = null; + Class newActivityClass = null; - int identifier = (int) drawerItem.getIdentifier(); - switch (identifier) { - case SIDEBAR_TASKS: { - fragment = new TasksFragment(); - break; - } - case SIDEBAR_SKILLS: { - fragment = new SkillsFragment(); - break; - } - case SIDEBAR_PARTY: { - fragment = new PartyFragment(); - break; - } - case SIDEBAR_GUILDS: { - fragment = new GuildsOverviewFragment(); - break; - } - case SIDEBAR_TAVERN: { - fragment = new TavernFragment(); - break; - } - case SIDEBAR_AVATAR: { - fragment = new AvatarOverviewFragment(); - break; - } - case SIDEBAR_EQUIPMENT: { - fragment = new EquipmentOverviewFragment(); - break; - } - case SIDEBAR_ITEMS: { - fragment = new ItemsFragment(); - break; - } - case SIDEBAR_STABLE: { - fragment = new StableFragment(); - break; - } - case SIDEBAR_PURCHASE: { - fragment = new GemsPurchaseFragment(); - break; - } - case SIDEBAR_NEWS: { - fragment= new NewsFragment(); - break; - } - case SIDEBAR_SETTINGS: { - newActivityClass = PrefsActivity.class; - break; - } - case SIDEBAR_HELP: { - fragment = new FAQOverviewFragment(); - break; - } - case SIDEBAR_ABOUT: { - newActivityClass = AboutActivity.class; - break; - } + int identifier = (int) drawerItem.getIdentifier(); + switch (identifier) { + case SIDEBAR_TASKS: { + fragment = new TasksFragment(); + break; } - - if (fragment != null) { - fragment.fragmentSidebarPosition = position; - activity.displayFragment(fragment); - return false; + case SIDEBAR_SKILLS: { + fragment = new SkillsFragment(); + break; } - if (newActivityClass != null) { - Intent passUserId = new Intent(activity, newActivityClass); - passUserId.putExtra("userId", activity.getUserID()); - activity.startActivity(passUserId); - return false; + case SIDEBAR_PARTY: { + fragment = new PartyFragment(); + break; + } + case SIDEBAR_GUILDS: { + fragment = new GuildsOverviewFragment(); + break; + } + case SIDEBAR_TAVERN: { + fragment = new TavernFragment(); + break; + } + case SIDEBAR_AVATAR: { + fragment = new AvatarOverviewFragment(); + break; + } + case SIDEBAR_EQUIPMENT: { + fragment = new EquipmentOverviewFragment(); + break; + } + case SIDEBAR_ITEMS: { + fragment = new ItemsFragment(); + break; + } + case SIDEBAR_STABLE: { + fragment = new StableFragment(); + break; + } + case SIDEBAR_PURCHASE: { + fragment = new GemsPurchaseFragment(); + break; + } + case SIDEBAR_NEWS: { + fragment= new NewsFragment(); + break; + } + case SIDEBAR_SETTINGS: { + newActivityClass = PrefsActivity.class; + break; + } + case SIDEBAR_HELP: { + fragment = new FAQOverviewFragment(); + break; + } + case SIDEBAR_ABOUT: { + newActivityClass = AboutActivity.class; + break; } - - - return true; } + + if (fragment != null) { + fragment.fragmentSidebarPosition = position; + activity.displayFragment(fragment); + return false; + } + if (newActivityClass != null) { + Intent passUserId = new Intent(activity, newActivityClass); + passUserId.putExtra("userId", activity.getUserID()); + activity.startActivity(passUserId); + return false; + } + + + return true; }); return builder; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/SectionIconDrawerItem.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/SectionIconDrawerItem.java index 86881650a..3f7ac8ef5 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/SectionIconDrawerItem.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/SectionIconDrawerItem.java @@ -9,6 +9,7 @@ import android.support.annotation.ColorRes; import android.support.annotation.DrawableRes; import android.support.annotation.LayoutRes; import android.support.annotation.StringRes; +import android.support.v4.content.ContextCompat; import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.ImageView; @@ -134,7 +135,7 @@ public class SectionIconDrawerItem extends AbstractDrawerItem changeEmojiKeyboardIcon(false)); popup.setOnSoftKeyboardOpenCloseListener(new EmojiPopup.OnSoftKeyboardOpenCloseListener() { @Override @@ -93,37 +87,29 @@ public class GroupFormActivity extends BaseActivity { } }); - popup.setOnEmojiconClickedListener(new EmojiGridView.OnEmojiconClickedListener() { - - @Override - public void onEmojiconClicked(Emojicon emojicon) { - EmojiEditText emojiEditText = null; - if (getCurrentFocus() == null || !isEmojiEditText(getCurrentFocus()) || emojicon == null) { - return; - } else { - emojiEditText = (EmojiEditText) getCurrentFocus(); - } - int start = emojiEditText.getSelectionStart(); - int end = emojiEditText.getSelectionEnd(); - if (start < 0) { - emojiEditText.append(emojicon.getEmoji()); - } else { - emojiEditText.getText().replace(Math.min(start, end), - Math.max(start, end), emojicon.getEmoji(), 0, - emojicon.getEmoji().length()); - } + popup.setOnEmojiconClickedListener(emojicon -> { + EmojiEditText emojiEditText = null; + if (getCurrentFocus() == null || !isEmojiEditText(getCurrentFocus()) || emojicon == null) { + return; + } else { + emojiEditText = (EmojiEditText) getCurrentFocus(); + } + int start = emojiEditText.getSelectionStart(); + int end = emojiEditText.getSelectionEnd(); + if (start < 0) { + emojiEditText.append(emojicon.getEmoji()); + } else { + emojiEditText.getText().replace(Math.min(start, end), + Math.max(start, end), emojicon.getEmoji(), 0, + emojicon.getEmoji().length()); } }); - popup.setOnEmojiconBackspaceClickedListener(new EmojiPopup.OnEmojiconBackspaceClickedListener() { - - @Override - public void onEmojiconBackspaceClicked(View v) { - if (isEmojiEditText(getCurrentFocus())) { - KeyEvent event = new KeyEvent( - 0, 0, 0, KeyEvent.KEYCODE_DEL, 0, 0, 0, 0, KeyEvent.KEYCODE_ENDCALL); - getCurrentFocus().dispatchKeyEvent(event); - } + popup.setOnEmojiconBackspaceClickedListener(v -> { + if (isEmojiEditText(getCurrentFocus())) { + KeyEvent event = new KeyEvent( + 0, 0, 0, KeyEvent.KEYCODE_DEL, 0, 0, 0, 0, KeyEvent.KEYCODE_ENDCALL); + getCurrentFocus().dispatchKeyEvent(event); } }); 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 9a31db91e..5801f0750 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 @@ -4,6 +4,7 @@ import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentPagerAdapter; +import android.support.v4.content.res.ResourcesCompat; import android.support.v4.view.ViewPager; import android.view.View; import android.widget.Button; @@ -64,19 +65,19 @@ public class IntroActivity extends BaseActivity implements View.OnClickListener, switch (position) { case 0: { - fragment.setImage(getResources().getDrawable(R.drawable.intro_1)); + fragment.setImage(ResourcesCompat.getDrawable(getResources(), R.drawable.intro_1, null)); fragment.setTitle(getString(R.string.intro_1_title)); fragment.setDescription(getString(R.string.intro_1_description)); break; } case 1: { - fragment.setImage(getResources().getDrawable(R.drawable.intro_2)); + fragment.setImage(ResourcesCompat.getDrawable(getResources(), R.drawable.intro_2, null)); fragment.setTitle(getString(R.string.intro_2_title)); fragment.setDescription(getString(R.string.intro_2_description)); break; } case 2: { - fragment.setImage(getResources().getDrawable(R.drawable.intro_3)); + fragment.setImage(ResourcesCompat.getDrawable(getResources(), R.drawable.intro_3, null)); fragment.setTitle(getString(R.string.intro_3_title)); fragment.setDescription(getString(R.string.intro_3_description)); break; 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 fe7d459e5..9c3e688b6 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 @@ -204,15 +204,12 @@ public class LoginActivity extends AppCompatActivity } }; - private View.OnClickListener mForgotPWClick = new View.OnClickListener() { - @Override - public void onClick(View v) { - String url = getString(R.string.SP_address_default); - Intent i = new Intent(Intent.ACTION_VIEW); - i.setData(Uri.parse(url)); - startActivity(i); - } - }; + private View.OnClickListener mForgotPWClick = v -> { +String url = getString(R.string.SP_address_default); +Intent i = new Intent(Intent.ACTION_VIEW); +i.setData(Uri.parse(url)); +startActivity(i); + }; public static void expand(final View v) { @@ -393,10 +390,8 @@ public class LoginActivity extends AppCompatActivity new android.support.v7.app.AlertDialog.Builder(this) .setTitle(R.string.login_validation_error_title) .setMessage(resourceMessageString) - .setNeutralButton(android.R.string.ok, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - } - }) + .setNeutralButton(android.R.string.ok, (dialog, which) -> { + }) .setIcon(R.drawable.ic_warning_black) .show(); } 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 e60963cbe..2cffe6e41 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 @@ -291,17 +291,14 @@ public class MainActivity extends BaseActivity implements HabitRPGUserCallback.O updateData.put("preferences.timezoneOffset", String.valueOf(offset)); mAPIHelper.apiService.updateUser(updateData, new HabitRPGUserCallback(this)); } - runOnUiThread(new Runnable() { - @Override - public void run() { - updateHeader(); - updateSidebar(); - saveLoginInformation(); - if (activeFragment != null) { - activeFragment.updateUserData(user); - } else { - drawer.setSelectionAtPosition(1); - } + runOnUiThread(() -> { + updateHeader(); + updateSidebar(); + saveLoginInformation(); + if (activeFragment != null) { + activeFragment.updateUserData(user); + } else { + drawer.setSelectionAtPosition(1); } }); @@ -309,31 +306,29 @@ public class MainActivity extends BaseActivity implements HabitRPGUserCallback.O if (!fromLocalDb) { // Update the oldEntries - new Thread(new Runnable() { - public void run() { + new Thread(() -> { - // multiple crashes because user is null - if (user != null) { - ArrayList allTasks = new ArrayList<>(); - allTasks.addAll(user.getDailys()); - allTasks.addAll(user.getTodos()); - allTasks.addAll(user.getHabits()); - allTasks.addAll(user.getRewards()); + // multiple crashes because user is null + if (user != null) { + ArrayList allTasks = new ArrayList<>(); + allTasks.addAll(user.getDailys()); + allTasks.addAll(user.getTodos()); + allTasks.addAll(user.getHabits()); + allTasks.addAll(user.getRewards()); - loadAndRemoveOldTasks(user.getId(), allTasks); + loadAndRemoveOldTasks(user.getId(), allTasks); - ArrayList allChecklistItems = new ArrayList<>(); + ArrayList allChecklistItems = new ArrayList<>(); - for (Task t : allTasks) { - if (t.checklist != null) { - allChecklistItems.addAll(t.checklist); - } + for (Task t : allTasks) { + if (t.checklist != null) { + allChecklistItems.addAll(t.checklist); } - - loadAndRemoveOldChecklists(allChecklistItems); - - updateOwnedEquipment(user.getItems().getGear().owned); } + + loadAndRemoveOldChecklists(allChecklistItems); + + updateOwnedEquipment(user.getItems().getGear().owned); } }).start(); } @@ -489,11 +484,9 @@ public class MainActivity extends BaseActivity implements HabitRPGUserCallback.O } profile.withName(user.getProfile().getName()); sideUserPicture.setUser(this.user); - sideUserPicture.setPictureWithRunnable(new UserPictureRunnable() { - public void run(Bitmap avatar) { - profile.withIcon(avatar); - accountHeader.updateProfile(profile); - } + sideUserPicture.setPictureWithRunnable(avatar -> { + profile.withIcon(avatar); + accountHeader.updateProfile(profile); }); accountHeader.updateProfile(profile); @@ -686,7 +679,6 @@ public class MainActivity extends BaseActivity implements HabitRPGUserCallback.O @Subscribe public void onEvent(SellItemCommand event) { - String itemType = ""; this.mAPIHelper.apiService.sellItem(event.item.getType(), event.item.getKey(), new Callback() { @Override public void success(HabitRPGUser habitRPGUser, Response response) { @@ -719,11 +711,8 @@ public class MainActivity extends BaseActivity implements HabitRPGUserCallback.O AlertDialog dialog = new AlertDialog.Builder(MainActivity.this) .setTitle(getString(R.string.hatched_pet_title, event.usingHatchingPotion.getText(), event.usingEgg.getText())) .setView(petWrapper) - .setPositiveButton(R.string.close, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - } + .setPositiveButton(R.string.close, (dialog1, which) -> { + dialog1.dismiss(); }) .create(); dialog.show(); @@ -798,14 +787,7 @@ public class MainActivity extends BaseActivity implements HabitRPGUserCallback.O private void showSnackBarForDataReceived(final TaskDirectionData data) { if (data.get_tmp() != null) { if (data.get_tmp().getDrop() != null) { - new Handler().postDelayed(new Runnable() { - - @Override - public void run() { - showSnackbar(MainActivity.this, floatingMenuWrapper, data.get_tmp().getDrop().getDialog(), SnackbarDisplayType.DROP); - - } - }, 3000L); + new Handler().postDelayed(() -> showSnackbar(MainActivity.this, floatingMenuWrapper, data.get_tmp().getDrop().getDialog(), SnackbarDisplayType.DROP), 3000L); } } } @@ -882,12 +864,9 @@ public class MainActivity extends BaseActivity implements HabitRPGUserCallback.O this.faintDialog = new AlertDialog.Builder(this) .setTitle(R.string.faint_header) .setView(customView) - .setPositiveButton(R.string.faint_button, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - faintDialog = null; - mAPIHelper.reviveUser(new HabitRPGUserCallback(MainActivity.this)); - } + .setPositiveButton(R.string.faint_button, (dialog, which) -> { + faintDialog = null; + mAPIHelper.reviveUser(new HabitRPGUserCallback(MainActivity.this)); }) .create(); 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 695572af6..4c727233b 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 @@ -207,9 +207,9 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem tags = bundle.getStringArrayList(TAG_IDS_KEY); tagsName = bundle.getStringArrayList(TAG_NAMES_KEY); allocationMode = bundle.getString(ALLOCATION_MODE_KEY); - userSelectedTags = new ArrayList(); - allTags = new ArrayList(); - userSelectedTagIds = new ArrayList(); + userSelectedTags = new ArrayList<>(); + allTags = new ArrayList<>(); + userSelectedTagIds = new ArrayList<>(); if (taskType == null) { return; } @@ -219,32 +219,20 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem btnDelete.setEnabled(false); ViewHelper.SetBackgroundTint(btnDelete, ContextCompat.getColor(this, R.color.worse_10)); - btnDelete.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - - new AlertDialog.Builder(view.getContext()) - .setTitle(getString(R.string.taskform_delete_title)) - .setMessage(getString(R.string.taskform_delete_message)).setPositiveButton(getString(R.string.yes), new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - if (task != null) { - task.delete(); - } - - finish(); - dismissKeyboard(); - - EventBus.getDefault().post(new DeleteTaskCommand(taskId)); + btnDelete.setOnClickListener(view -> new AlertDialog.Builder(view.getContext()) + .setTitle(getString(R.string.taskform_delete_title)) + .setMessage(getString(R.string.taskform_delete_message)).setPositiveButton(getString(R.string.yes), (dialog, which) -> { + if (task != null) { + task.delete(); } - }).setNegativeButton(getString(R.string.no), new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - } - }).show(); - } - }); + + finish(); + dismissKeyboard(); + + EventBus.getDefault().post(new DeleteTaskCommand(taskId)); + }).setNegativeButton(getString(R.string.no), (dialog, which) -> { + dialog.dismiss(); + }).show()); ArrayAdapter difficultyAdapter = ArrayAdapter.createFromResource(this, R.array.task_difficulties, android.R.layout.simple_spinner_item); @@ -296,14 +284,11 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem if (taskType.equals("todo")) { dueDatePickerLayout.removeView(dueDatePickerText); //Allows user to decide if they want to add a due date or not - dueDateCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - if (buttonView.isChecked()) { - dueDatePickerLayout.addView(dueDatePickerText); - } else { - dueDatePickerLayout.removeView(dueDatePickerText); - } + dueDateCheckBox.setOnCheckedChangeListener((buttonView, isChecked) -> { + if (buttonView.isChecked()) { + dueDatePickerLayout.addView(dueDatePickerText); + } else { + dueDatePickerLayout.removeView(dueDatePickerText); } }); } else { @@ -355,13 +340,7 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem popup = new EmojiPopup(emojiToggle0.getRootView(), this, ContextCompat.getColor(this, R.color.brand)); popup.setSizeForSoftKeyboard(); - popup.setOnDismissListener(new PopupWindow.OnDismissListener() { - - @Override - public void onDismiss() { - changeEmojiKeyboardIcon(false); - } - }); + popup.setOnDismissListener(() -> changeEmojiKeyboardIcon(false)); popup.setOnSoftKeyboardOpenCloseListener(new EmojiPopup.OnSoftKeyboardOpenCloseListener() { @Override @@ -376,37 +355,29 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem } }); - popup.setOnEmojiconClickedListener(new EmojiGridView.OnEmojiconClickedListener() { - - @Override - public void onEmojiconClicked(Emojicon emojicon) { - EmojiEditText emojiEditText = null; - if (getCurrentFocus() == null || !isEmojiEditText(getCurrentFocus()) || emojicon == null) { - return; - } else { - emojiEditText = (EmojiEditText) getCurrentFocus(); - } - int start = emojiEditText.getSelectionStart(); - int end = emojiEditText.getSelectionEnd(); - if (start < 0) { - emojiEditText.append(emojicon.getEmoji()); - } else { - emojiEditText.getText().replace(Math.min(start, end), - Math.max(start, end), emojicon.getEmoji(), 0, - emojicon.getEmoji().length()); - } + popup.setOnEmojiconClickedListener(emojicon -> { + EmojiEditText emojiEditText = null; + if (getCurrentFocus() == null || !isEmojiEditText(getCurrentFocus()) || emojicon == null) { + return; + } else { + emojiEditText = (EmojiEditText) getCurrentFocus(); + } + int start = emojiEditText.getSelectionStart(); + int end = emojiEditText.getSelectionEnd(); + if (start < 0) { + emojiEditText.append(emojicon.getEmoji()); + } else { + emojiEditText.getText().replace(Math.min(start, end), + Math.max(start, end), emojicon.getEmoji(), 0, + emojicon.getEmoji().length()); } }); - popup.setOnEmojiconBackspaceClickedListener(new EmojiPopup.OnEmojiconBackspaceClickedListener() { - - @Override - public void onEmojiconBackspaceClicked(View v) { - if (isEmojiEditText(getCurrentFocus())) { - KeyEvent event = new KeyEvent( - 0, 0, 0, KeyEvent.KEYCODE_DEL, 0, 0, 0, 0, KeyEvent.KEYCODE_ENDCALL); - getCurrentFocus().dispatchKeyEvent(event); - } + popup.setOnEmojiconBackspaceClickedListener(v -> { + if (isEmojiEditText(getCurrentFocus())) { + KeyEvent event = new KeyEvent( + 0, 0, 0, KeyEvent.KEYCODE_DEL, 0, 0, 0, 0, KeyEvent.KEYCODE_ENDCALL); + getCurrentFocus().dispatchKeyEvent(event); } }); @@ -450,11 +421,8 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem 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), new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - setCalendar(Calendar.getInstance().getTime()); - } + this.datePickerDialog.setButton(DialogInterface.BUTTON_NEUTRAL, getResources().getString(R.string.today), (dialog, which) -> { + setCalendar(Calendar.getInstance().getTime()); }); updateDateText(); } @@ -534,14 +502,11 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem ItemTouchHelper mItemTouchHelper = new ItemTouchHelper(callback); mItemTouchHelper.attachToRecyclerView(recyclerView); - button.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - String checklist = newCheckListEditText.getText().toString(); - ChecklistItem item = new ChecklistItem(checklist); - checklistAdapter.addItem(item); - newCheckListEditText.setText(""); - } + button.setOnClickListener(v -> { + String checklist = newCheckListEditText.getText().toString(); + ChecklistItem item = new ChecklistItem(checklist); + checklistAdapter.addItem(item); + newCheckListEditText.setText(""); }); } @@ -554,14 +519,11 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem tagsCheckBox.setText(tagsName.get(i)); // set text Name tagsCheckBox.setId(i); //This is to check if the tag was selected by the user. Similar to onClickListener - tagsCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - if (buttonView.isChecked()) { - userSelectedTags.add(buttonView.getText()); - } else { - userSelectedTags.remove(buttonView.getText()); - } + tagsCheckBox.setOnCheckedChangeListener((buttonView, isChecked) -> { + if (buttonView.isChecked()) { + userSelectedTags.add(buttonView.getText()); + } else { + userSelectedTags.remove(buttonView.getText()); } }); row.addView(tagsCheckBox); 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 e83a7d272..a386bbdc4 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 @@ -179,28 +179,22 @@ public class CustomizationRecyclerViewAdapter extends RecyclerView.Adapter gemBalance) { - OpenMenuItemCommand event = new OpenMenuItemCommand(); - event.identifier = MainDrawerBuilder.SIDEBAR_PURCHASE; - EventBus.getDefault().post(event); - return; - } - UnlockPathCommand event = new UnlockPathCommand(); - event.path = customization.getPath(); - event.balanceDiff = customization.getPrice() / 4; + .setPositiveButton(R.string.purchase_button, (dialog1, which) -> { + if (customization.getPrice() > gemBalance) { + OpenMenuItemCommand event = new OpenMenuItemCommand(); + event.identifier = MainDrawerBuilder.SIDEBAR_PURCHASE; EventBus.getDefault().post(event); + return; } + UnlockPathCommand event = new UnlockPathCommand(); + event.path = customization.getPath(); + event.balanceDiff = customization.getPrice() / 4; + EventBus.getDefault().post(event); }) .setTitle(context.getString(R.string.purchase_customization)) .setView(dialogContent) - .setNegativeButton(R.string.reward_dialog_dismiss, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - } + .setNegativeButton(R.string.reward_dialog_dismiss, (dialog1, which) -> { + dialog1.dismiss(); }).create(); dialog.show(); return; @@ -261,37 +255,31 @@ public class CustomizationRecyclerViewAdapter extends RecyclerView.Adapter gemBalance) { - OpenMenuItemCommand event = new OpenMenuItemCommand(); - event.identifier = MainDrawerBuilder.SIDEBAR_PURCHASE; - EventBus.getDefault().post(event); - return; - } - UnlockPathCommand event = new UnlockPathCommand(); - String path = ""; - for (Object obj : customizationList) { - if (obj.getClass().equals(Customization.class)) { - Customization customization = (Customization) obj; - if (!customization.isUsable() && customization.getCustomizationSet() != null && customization.getCustomizationSet().equals(set.identifier)) { - path = path + "," + customization.getPath(); - } + .setPositiveButton(R.string.purchase_button, (dialog1, which) -> { + if (set.price > gemBalance) { + OpenMenuItemCommand event = new OpenMenuItemCommand(); + event.identifier = MainDrawerBuilder.SIDEBAR_PURCHASE; + EventBus.getDefault().post(event); + return; + } + UnlockPathCommand event = new UnlockPathCommand(); + String path = ""; + for (Object obj : customizationList) { + if (obj.getClass().equals(Customization.class)) { + Customization customization = (Customization) obj; + if (!customization.isUsable() && customization.getCustomizationSet() != null && customization.getCustomizationSet().equals(set.identifier)) { + path = path + "," + customization.getPath(); } } - event.path = path; - event.balanceDiff = set.price / 4; - EventBus.getDefault().post(event); } + event.path = path; + event.balanceDiff = set.price / 4; + EventBus.getDefault().post(event); }) .setTitle(context.getString(R.string.purchase_set_title, set.text)) .setView(dialogContent) - .setNegativeButton(R.string.reward_dialog_dismiss, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - } + .setNegativeButton(R.string.reward_dialog_dismiss, (dialog1, which) -> { + dialog1.dismiss(); }).create(); dialog.show(); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/SkillsRecyclerViewAdapter.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/SkillsRecyclerViewAdapter.java index af0cab67b..bff2dbca8 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/SkillsRecyclerViewAdapter.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/SkillsRecyclerViewAdapter.java @@ -1,6 +1,7 @@ package com.habitrpg.android.habitica.ui.adapter; -import android.content.res.Resources; +import android.content.Context; +import android.support.v4.content.ContextCompat; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; @@ -71,14 +72,14 @@ public class SkillsRecyclerViewAdapter extends RecyclerView.Adapter mana) { priceButton.setEnabled(false); priceButton.setBackgroundResource(R.color.task_gray); - skillNameTextView.setTextColor(resources.getColor(R.color.task_gray)); - skillNotesTextView.setTextColor(resources.getColor(R.color.task_gray)); + skillNameTextView.setTextColor(ContextCompat.getColor(context, R.color.task_gray)); + skillNotesTextView.setTextColor(ContextCompat.getColor(context, R.color.task_gray)); } else { - skillNameTextView.setTextColor(resources.getColor(android.R.color.black)); - skillNotesTextView.setTextColor(resources.getColor(android.R.color.black)); + skillNameTextView.setTextColor(ContextCompat.getColor(context, android.R.color.black)); + skillNotesTextView.setTextColor(ContextCompat.getColor(context, android.R.color.black)); priceButton.setEnabled(true); } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/EquipmentRecyclerViewAdapter.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/EquipmentRecyclerViewAdapter.java index fa266434c..f77104732 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/EquipmentRecyclerViewAdapter.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/EquipmentRecyclerViewAdapter.java @@ -1,6 +1,8 @@ package com.habitrpg.android.habitica.ui.adapter.inventory; +import android.content.Context; import android.content.res.Resources; +import android.support.v4.content.ContextCompat; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; @@ -72,14 +74,14 @@ class GearViewHolder extends RecyclerView.ViewHolder implements View.OnClickList ItemData gear; - Resources resources; + Context context; public GearViewHolder(View itemView) { super(itemView); ButterKnife.bind(this, itemView); - resources = itemView.getResources(); + context = itemView.getContext(); itemView.setOnClickListener(this); } @@ -90,7 +92,7 @@ class GearViewHolder extends RecyclerView.ViewHolder implements View.OnClickList if (gear.key.equals(equippedGear)) { this.equippedIndicator.setVisibility(View.VISIBLE); - this.gearContainer.setBackgroundColor(resources.getColor(R.color.brand_700)); + this.gearContainer.setBackgroundColor(ContextCompat.getColor(context, R.color.brand_700)); } else { this.equippedIndicator.setVisibility(View.GONE); this.gearContainer.setBackgroundResource(R.drawable.selection_highlight); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/ItemRecyclerAdapter.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/ItemRecyclerAdapter.java index 83ebb5531..2f4cd8e84 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/ItemRecyclerAdapter.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/ItemRecyclerAdapter.java @@ -138,40 +138,37 @@ public class ItemRecyclerAdapter extends RecyclerView.Adapter 1) { - item.setOwned(item.getOwned()-1); - notifyItemChanged(getAdapterPosition()); - } else { - itemList.remove(getAdapterPosition()); - notifyItemRemoved(getAdapterPosition()); - } + menu.setSelectionRunnable(index -> { + if (!(item instanceof QuestContent) && index == 0) { + SellItemCommand event = new SellItemCommand(); + event.item = item; + EventBus.getDefault().post(event); + if (item.getOwned() > 1) { + item.setOwned(item.getOwned()-1); + notifyItemChanged(getAdapterPosition()); + } else { + itemList.remove(getAdapterPosition()); + notifyItemRemoved(getAdapterPosition()); + } - return; - } - if (item instanceof Egg) { - HatchingCommand event = new HatchingCommand(); - event.usingEgg = (Egg)item; - EventBus.getDefault().post(event); - } else if (item instanceof Food) { - FeedCommand event = new FeedCommand(); - event.usingFood = (Food)item; - EventBus.getDefault().post(event); - } else if (item instanceof HatchingPotion) { - HatchingCommand event = new HatchingCommand(); - event.usingHatchingPotion = (HatchingPotion)item; - EventBus.getDefault().post(event); - } else if (item instanceof QuestContent) { - InvitePartyToQuestCommand event = new InvitePartyToQuestCommand(); - event.questKey = item.getKey(); - EventBus.getDefault().post(event); - } + return; + } + if (item instanceof Egg) { + HatchingCommand event = new HatchingCommand(); + event.usingEgg = (Egg)item; + EventBus.getDefault().post(event); + } else if (item instanceof Food) { + FeedCommand event = new FeedCommand(); + event.usingFood = (Food)item; + EventBus.getDefault().post(event); + } else if (item instanceof HatchingPotion) { + HatchingCommand event = new HatchingCommand(); + event.usingHatchingPotion = (HatchingPotion)item; + EventBus.getDefault().post(event); + } else if (item instanceof QuestContent) { + InvitePartyToQuestCommand event = new InvitePartyToQuestCommand(); + event.questKey = item.getKey(); + EventBus.getDefault().post(event); } }); menu.show(); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChatRecyclerViewAdapter.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChatRecyclerViewAdapter.java index 5a235f723..92e43c66d 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChatRecyclerViewAdapter.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChatRecyclerViewAdapter.java @@ -193,7 +193,7 @@ public class ChatRecyclerViewAdapter extends RecyclerView.Adapter filteredObservableContent.addAll(this.tagsHelper.filter(observableContent)); } - ((Activity) context).runOnUiThread(new Runnable() { - @Override - public void run() { - notifyDataSetChanged(); + ((Activity) context).runOnUiThread(() -> { + notifyDataSetChanged(); - if (parentAdapter != null) { - parentAdapter.notifyDataSetChanged(); - } + if (parentAdapter != null) { + parentAdapter.notifyDataSetChanged(); } }); } @@ -473,14 +470,11 @@ public class HabitItemRecyclerViewAdapter } public void expandCheckboxTouchArea(final View expandedView, final View checkboxView){ - expandedView.post(new Runnable() { - @Override - public void run() { - Rect rect = new Rect(); - expandedView.getHitRect(rect); - expandedView.setTouchDelegate(new TouchDelegate(rect, checkboxView)); - } - }); + expandedView.post(() -> { + Rect rect = new Rect(); + expandedView.getHitRect(rect); + expandedView.setTouchDelegate(new TouchDelegate(rect, checkboxView)); + }); } } @@ -578,21 +572,15 @@ public class HabitItemRecyclerViewAdapter private AlertDialog createGearDialog(LinearLayout contentViewForDialog) { return new AlertDialog.Builder(context) - .setPositiveButton(R.string.reward_dialog_buy, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - BuyRewardCommand event = new BuyRewardCommand(); - event.Reward = Item; - EventBus.getDefault().post(event); - } + .setPositiveButton(R.string.reward_dialog_buy, (dialog, which) -> { + BuyRewardCommand event = new BuyRewardCommand(); + event.Reward = Item; + EventBus.getDefault().post(event); }) .setTitle(binding.getReward().getText()) .setView(contentViewForDialog) - .setNegativeButton(R.string.reward_dialog_dismiss, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - } + .setNegativeButton(R.string.reward_dialog_dismiss, (dialog, which) -> { + dialog.dismiss(); }).create(); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/DatePickerFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/DatePickerFragment.java index 57fe8ce16..067bfc732 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/DatePickerFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/DatePickerFragment.java @@ -21,16 +21,9 @@ public class DatePickerFragment extends DialogFragment { int day = c.get(Calendar.DAY_OF_MONTH); // Create a new instance of TimePickerDialog and return it Dialog d = new DatePickerDialog(getActivity(), (OnDateSetListener) getTargetFragment(), year, month, day); - d.setOnDismissListener(new OnDismissListener() { - - @Override - public void onDismiss(DialogInterface dialog) { - } + d.setOnDismissListener(dialog -> { }); - d.setOnCancelListener(new OnCancelListener() { - @Override - public void onCancel(DialogInterface dialog) { - } + d.setOnCancelListener(dialog -> { }); return d; } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/GemsPurchaseFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/GemsPurchaseFragment.java index 79c67b6e6..8ba96d101 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/GemsPurchaseFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/GemsPurchaseFragment.java @@ -2,6 +2,7 @@ package com.habitrpg.android.habitica.ui.fragments; import android.content.Context; import android.os.Bundle; +import android.support.v4.content.ContextCompat; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -60,7 +61,7 @@ public class GemsPurchaseFragment extends BaseMainFragment { ButterKnife.bind(this, v); btnPurchaseGems.setEnabled(false); - ViewHelper.SetBackgroundTint(btnPurchaseGems, container.getResources().getColor(R.color.brand)); + ViewHelper.SetBackgroundTint(btnPurchaseGems, ContextCompat.getColor(container.getContext(), R.color.brand)); final ActivityCheckout checkout = listener.getActivityCheckout(); @@ -107,17 +108,14 @@ public class GemsPurchaseFragment extends BaseMainFragment { @Override public void onReady(BillingRequests billingRequests, String s, boolean b) { - checkout.loadInventory().whenLoaded(new Inventory.Listener() { - @Override - public void onLoaded(Inventory.Products products) { + checkout.loadInventory().whenLoaded(products -> { - Inventory.Product gems = products.get(ProductTypes.IN_APP); + Inventory.Product gems = products.get(ProductTypes.IN_APP); - java.util.List skus = gems.getSkus(); + java.util.List skus = gems.getSkus(); - for (Sku sku : skus){ - updateBuyButtonText(sku.price); - } + for (Sku sku : skus){ + updateBuyButtonText(sku.price); } }); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/MountDetailRecyclerFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/MountDetailRecyclerFragment.java index 8beb8300b..183305db8 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/MountDetailRecyclerFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/MountDetailRecyclerFragment.java @@ -71,12 +71,7 @@ public class MountDetailRecyclerFragment extends BaseMainFragment { public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); final View finalView = view; - finalView.post(new Runnable() { - @Override - public void run() { - setGridSpanCount(finalView.getWidth()); - } - }); + finalView.post(() -> setGridSpanCount(finalView.getWidth())); } @Override @@ -100,16 +95,13 @@ public class MountDetailRecyclerFragment extends BaseMainFragment { } private void loadItems() { - Runnable itemsRunnable = new Runnable() { - @Override - public void run() { - List items = new Select().from(Mount.class).where(Condition.CombinedCondition - .begin(Condition.column("animal").eq(animalType)) - .and(Condition.column("animalGroup").eq(animalGroup))).orderBy(true, "color").queryList(); - adapter.setItemList(items); - animals = items; - adapter.setOwnedMapping(user.getItems().getMounts()); - } + Runnable itemsRunnable = () -> { + List items = new Select().from(Mount.class).where(Condition.CombinedCondition + .begin(Condition.column("animal").eq(animalType)) + .and(Condition.column("animalGroup").eq(animalGroup))).orderBy(true, "color").queryList(); + adapter.setItemList(items); + animals = items; + adapter.setOwnedMapping(user.getItems().getMounts()); }; itemsRunnable.run(); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/PetDetailRecyclerFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/PetDetailRecyclerFragment.java index 3befb3243..35d8a8ff3 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/PetDetailRecyclerFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/PetDetailRecyclerFragment.java @@ -78,12 +78,7 @@ public class PetDetailRecyclerFragment extends BaseMainFragment { public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); final View finalView = view; - finalView.post(new Runnable() { - @Override - public void run() { - setGridSpanCount(finalView.getWidth()); - } - }); + finalView.post(() -> setGridSpanCount(finalView.getWidth())); } @Override diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/StableRecyclerFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/StableRecyclerFragment.java index 5de4687bb..e83dc0b36 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/StableRecyclerFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/StableRecyclerFragment.java @@ -112,12 +112,7 @@ public class StableRecyclerFragment extends BaseFragment { public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); final View finalView = view; - finalView.post(new Runnable() { - @Override - public void run() { - setGridSpanCount(finalView.getWidth()); - } - }); + finalView.post(() -> setGridSpanCount(finalView.getWidth())); } @Override diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarOverviewFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarOverviewFragment.java index 373f0064c..6a3c26332 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarOverviewFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarOverviewFragment.java @@ -83,62 +83,17 @@ public class AvatarOverviewFragment extends BaseMainFragment implements AdapterV this.setSize(this.user.getPreferences().getSize()); avatarSizeSpinner.setOnItemSelectedListener(this); - avatarShirtView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayCustomizationFragment("shirt", null); - } - }); + avatarShirtView.setOnClickListener(v1 -> displayCustomizationFragment("shirt", null)); - avatarSkinView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayCustomizationFragment("skin", null); - } - }); + avatarSkinView.setOnClickListener(v1 -> displayCustomizationFragment("skin", null)); - avatarHairColorView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayCustomizationFragment("hair", "color"); - } - }); - avatarHairBangsView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayCustomizationFragment("hair", "bangs"); - } - }); - avatarHairBaseView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayCustomizationFragment("hair", "base"); - } - }); - avatarHairFlowerView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayCustomizationFragment("hair", "flower"); - } - }); - avatarHairBeardView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayCustomizationFragment("hair", "beard"); - } - }); - avatarHairMustacheView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayCustomizationFragment("hair", "mustache"); - } - }); - avatarBackgroundView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayCustomizationFragment("background", null); - } - }); + avatarHairColorView.setOnClickListener(v1 -> displayCustomizationFragment("hair", "color")); + avatarHairBangsView.setOnClickListener(v1 -> displayCustomizationFragment("hair", "bangs")); + avatarHairBaseView.setOnClickListener(v1 -> displayCustomizationFragment("hair", "base")); + avatarHairFlowerView.setOnClickListener(v1 -> displayCustomizationFragment("hair", "flower")); + avatarHairBeardView.setOnClickListener(v1 -> displayCustomizationFragment("hair", "beard")); + avatarHairMustacheView.setOnClickListener(v1 -> displayCustomizationFragment("hair", "mustache")); + avatarBackgroundView.setOnClickListener(v1 -> displayCustomizationFragment("background", null)); return v; } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/equipment/EquipmentOverviewFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/equipment/EquipmentOverviewFragment.java index 39fd96831..e1ef91e78 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/equipment/EquipmentOverviewFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/equipment/EquipmentOverviewFragment.java @@ -92,115 +92,32 @@ public class EquipmentOverviewFragment extends BaseMainFragment implements Trans costumeWeaponView = costumeGroupView.findViewById(R.id.outfit_weapon); costumeShieldView = costumeGroupView.findViewById(R.id.outfit_shield); - battleGearHeadView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayEquipmentDetailList("head", user.getItems().getGear().getEquipped().getHead(), false); - } - }); - battleGearHeadAccessoryView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayEquipmentDetailList("headAccessory", user.getItems().getGear().getEquipped().getHeadAccessory(), false); - } - }); - battleGearEyewearView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayEquipmentDetailList("eyewear", user.getItems().getGear().getEquipped().getEyeWear(), false); - } - }); - battleGearArmorView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayEquipmentDetailList("armor", user.getItems().getGear().getEquipped().getArmor(), false); - } - }); - battleGearBackView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayEquipmentDetailList("back", user.getItems().getGear().getEquipped().getBack(), false); - } - }); - battleGearBodyView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayEquipmentDetailList("body", user.getItems().getGear().getEquipped().getBody(), false); - } - }); - battleGearWeaponView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayEquipmentDetailList("weapon", user.getItems().getGear().getEquipped().getWeapon(), false); - } - }); - battleGearShieldView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayEquipmentDetailList("shield", user.getItems().getGear().getEquipped().getShield(), false); - } - }); + battleGearHeadView.setOnClickListener(v1 -> displayEquipmentDetailList("head", user.getItems().getGear().getEquipped().getHead(), false)); + battleGearHeadAccessoryView.setOnClickListener(v1 -> displayEquipmentDetailList("headAccessory", user.getItems().getGear().getEquipped().getHeadAccessory(), false)); + battleGearEyewearView.setOnClickListener(v1 -> displayEquipmentDetailList("eyewear", user.getItems().getGear().getEquipped().getEyeWear(), false)); + battleGearArmorView.setOnClickListener(v1 -> displayEquipmentDetailList("armor", user.getItems().getGear().getEquipped().getArmor(), false)); + battleGearBackView.setOnClickListener(v1 -> displayEquipmentDetailList("back", user.getItems().getGear().getEquipped().getBack(), false)); + battleGearBodyView.setOnClickListener(v1 -> displayEquipmentDetailList("body", user.getItems().getGear().getEquipped().getBody(), false)); + battleGearWeaponView.setOnClickListener(v1 -> displayEquipmentDetailList("weapon", user.getItems().getGear().getEquipped().getWeapon(), false)); + battleGearShieldView.setOnClickListener(v1 -> displayEquipmentDetailList("shield", user.getItems().getGear().getEquipped().getShield(), false)); - costumeHeadView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayEquipmentDetailList("head", user.getItems().getGear().getCostume().getHead(), true); - } - }); - costumeHeadAccessoryView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayEquipmentDetailList("headAccessory", user.getItems().getGear().getCostume().getHeadAccessory(), true); - } - }); - costumeEyewearView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayEquipmentDetailList("eyewear", user.getItems().getGear().getCostume().getEyeWear(), true); - } - }); - costumeArmorView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayEquipmentDetailList("armor", user.getItems().getGear().getCostume().getArmor(), true); - } - }); - costumeBackView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayEquipmentDetailList("back", user.getItems().getGear().getCostume().getBack(), true); - } - }); - costumeBodyView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayEquipmentDetailList("body", user.getItems().getGear().getCostume().getBody(), true); - } - }); - costumeWeaponView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayEquipmentDetailList("weapon", user.getItems().getGear().getCostume().getWeapon(), true); - } - }); - costumeShieldView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - displayEquipmentDetailList("shield", user.getItems().getGear().getCostume().getShield(), true); - } - }); + costumeHeadView.setOnClickListener(v1 -> displayEquipmentDetailList("head", user.getItems().getGear().getCostume().getHead(), true)); + costumeHeadAccessoryView.setOnClickListener(v1 -> displayEquipmentDetailList("headAccessory", user.getItems().getGear().getCostume().getHeadAccessory(), true)); + costumeEyewearView.setOnClickListener(v1 -> displayEquipmentDetailList("eyewear", user.getItems().getGear().getCostume().getEyeWear(), true)); + costumeArmorView.setOnClickListener(v1 -> displayEquipmentDetailList("armor", user.getItems().getGear().getCostume().getArmor(), true)); + costumeBackView.setOnClickListener(v1 -> displayEquipmentDetailList("back", user.getItems().getGear().getCostume().getBack(), true)); + costumeBodyView.setOnClickListener(v1 -> displayEquipmentDetailList("body", user.getItems().getGear().getCostume().getBody(), true)); + costumeWeaponView.setOnClickListener(v1 -> displayEquipmentDetailList("weapon", user.getItems().getGear().getCostume().getWeapon(), true)); + costumeShieldView.setOnClickListener(v1 -> displayEquipmentDetailList("shield", user.getItems().getGear().getCostume().getShield(), true)); - this.costumeSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - UpdateUserCommand command = new UpdateUserCommand(); - Map updateData = new HashMap<>(); - updateData.put("preferences.costume", isChecked); - command.updateData = updateData; + this.costumeSwitch.setOnCheckedChangeListener((buttonView, isChecked) -> { + UpdateUserCommand command = new UpdateUserCommand(); + Map updateData = new HashMap<>(); + updateData.put("preferences.costume", isChecked); + command.updateData = updateData; - EventBus.getDefault().post(command); - } + EventBus.getDefault().post(command); }); if (this.nameMapping == null) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatListFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatListFragment.java index 559187cf1..969ab5a12 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatListFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatListFragment.java @@ -210,22 +210,18 @@ public class ChatListFragment extends BaseFragment implements SwipeRefreshLayout public void onEvent(final FlagChatMessageCommand cmd) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setMessage(R.string.chat_flag_confirmation) - .setPositiveButton(R.string.flag_confirm, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - apiHelper.apiService.flagMessage(cmd.groupId, cmd.chatMessage.id, new Callback() { - @Override - public void success(Void aVoid, Response response) { - UiUtils.showSnackbar(activity, activity.getFloatingMenuWrapper(), "Flagged message by " + cmd.chatMessage.user, UiUtils.SnackbarDisplayType.NORMAL); - } + .setPositiveButton(R.string.flag_confirm, (dialog, id) -> { + apiHelper.apiService.flagMessage(cmd.groupId, cmd.chatMessage.id, new Callback() { + @Override + public void success(Void aVoid, Response response) { + UiUtils.showSnackbar(activity, activity.getFloatingMenuWrapper(), "Flagged message by " + cmd.chatMessage.user, UiUtils.SnackbarDisplayType.NORMAL); + } - @Override - public void failure(RetrofitError error) { - } - }); } - }) - .setNegativeButton(R.string.action_cancel, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - } + @Override + public void failure(RetrofitError error) { + } + }); }) + .setNegativeButton(R.string.action_cancel, (dialog, id) -> { }); builder.show(); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GroupInformationFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GroupInformationFragment.java index ffc1394dc..f78a9a662 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GroupInformationFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/GroupInformationFragment.java @@ -7,6 +7,7 @@ import android.databinding.DataBindingUtil; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; +import android.support.v4.content.ContextCompat; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; @@ -31,9 +32,6 @@ import retrofit.Callback; import retrofit.RetrofitError; import retrofit.client.Response; -/** - * Created by Negue on 16.09.2015. - */ public class GroupInformationFragment extends Fragment { @@ -164,17 +162,12 @@ public class GroupInformationFragment extends Fragment { questResponse.setText(R.string.quest_pending); } else if (questresponse) { questResponse.setText(R.string.quest_accepted); - questResponse.setTextColor(getResources().getColor(R.color.good_10)); + questResponse.setTextColor(ContextCompat.getColor(context, R.color.good_10)); } else { questResponse.setText(R.string.quest_rejected); - questResponse.setTextColor(getResources().getColor(R.color.worse_10)); + questResponse.setTextColor(ContextCompat.getColor(context, R.color.worse_10)); } - questMemberView.post(new Runnable() { - @Override - public void run() { - questMemberView.addView(itemView); - } - }); + questMemberView.post(() -> questMemberView.addView(itemView)); } } @@ -221,27 +214,21 @@ public class GroupInformationFragment extends Fragment { public void onQuestLeave() { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()) .setMessage("Are you sure you want to leave the active quest? All your quest progress will be lost.") - .setPositiveButton("Yes", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - mAPIHelper.apiService.leaveQuest(group.id, new Callback() { - @Override - public void success(Void aVoid, Response response) { - group.quest.members.remove(user.getId()); - setGroup(group); - } + .setPositiveButton("Yes", (dialog, which) -> { + mAPIHelper.apiService.leaveQuest(group.id, new Callback() { + @Override + public void success(Void aVoid, Response response) { + group.quest.members.remove(user.getId()); + setGroup(group); + } - @Override - public void failure(RetrofitError error) { + @Override + public void failure(RetrofitError error) { - } - }); - } - }).setNegativeButton("No", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { + } + }); + }).setNegativeButton("No", (dialog, which) -> { - } }); builder.show(); } @@ -251,26 +238,20 @@ public class GroupInformationFragment extends Fragment { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()) .setMessage(R.string.quest_begin_message) - .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - mAPIHelper.apiService.forceStartQuest(group.id, group, new Callback() { - @Override - public void success(Group group, Response response) { - setGroup(group); - } + .setPositiveButton(R.string.yes, (dialog, which) -> { + mAPIHelper.apiService.forceStartQuest(group.id, group, new Callback() { + @Override + public void success(Group group1, Response response) { + setGroup(group1); + } - @Override - public void failure(RetrofitError error) { + @Override + public void failure(RetrofitError error) { - } - }); - } - }).setNegativeButton(R.string.no, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { + } + }); + }).setNegativeButton(R.string.no, (dialog, which) -> { - } }); builder.show(); } @@ -279,27 +260,21 @@ public class GroupInformationFragment extends Fragment { public void onQuestCancel() { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()) .setMessage(R.string.quest_cancel_message) - .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - mAPIHelper.apiService.cancelQuest(group.id, new Callback() { - @Override - public void success(Void aVoid, Response response) { - setGroup(group); - setQuestContent(null); - } + .setPositiveButton(R.string.yes, (dialog, which) -> { + mAPIHelper.apiService.cancelQuest(group.id, new Callback() { + @Override + public void success(Void aVoid, Response response) { + setGroup(group); + setQuestContent(null); + } - @Override - public void failure(RetrofitError error) { + @Override + public void failure(RetrofitError error) { - } - }); - } - }).setNegativeButton(R.string.no, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { + } + }); + }).setNegativeButton(R.string.no, (dialog, which) -> { - } }); builder.show(); } @@ -308,27 +283,21 @@ public class GroupInformationFragment extends Fragment { public void onQuestAbort() { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()) .setMessage("Are you sure you want to abort this mission? It will abort it for everyone in your party and all progress will be lost. The quest scroll will be returned to the quest owner.") - .setPositiveButton("Yes", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - mAPIHelper.apiService.abortQuest(group.id, new Callback() { - @Override - public void success(Group group, Response response) { - setGroup(group); - setQuestContent(null); - } + .setPositiveButton("Yes", (dialog, which) -> { + mAPIHelper.apiService.abortQuest(group.id, new Callback() { + @Override + public void success(Group group1, Response response) { + setGroup(group1); + setQuestContent(null); + } - @Override - public void failure(RetrofitError error) { + @Override + public void failure(RetrofitError error) { - } - }); - } - }).setNegativeButton("No", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { + } + }); + }).setNegativeButton("No", (dialog, which) -> { - } }); builder.show(); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.java index 6d22f9614..6e37078aa 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.java @@ -145,33 +145,13 @@ public class TasksFragment extends BaseMainFragment implements OnCheckedChangeLi floatingMenu = (FloatingActionMenu) view; } FloatingActionButton habit_fab = (FloatingActionButton) floatingMenu.findViewById(R.id.fab_new_habit); - habit_fab.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - openNewTaskActivity("habit"); - } - }); + habit_fab.setOnClickListener(v1 -> openNewTaskActivity("habit")); FloatingActionButton daily_fab = (FloatingActionButton) floatingMenu.findViewById(R.id.fab_new_daily); - daily_fab.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - openNewTaskActivity("daily"); - } - }); + daily_fab.setOnClickListener(v1 -> openNewTaskActivity("daily")); FloatingActionButton todo_fab = (FloatingActionButton) floatingMenu.findViewById(R.id.fab_new_todo); - todo_fab.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - openNewTaskActivity("todo"); - } - }); + todo_fab.setOnClickListener(v1 -> openNewTaskActivity("todo")); FloatingActionButton reward_fab = (FloatingActionButton) floatingMenu.findViewById(R.id.fab_new_reward); - reward_fab.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - openNewTaskActivity("reward"); - } - }); + reward_fab.setOnClickListener(v1 -> openNewTaskActivity("reward")); this.activity.filterDrawer.getDrawerLayout().setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, GravityCompat.END); @@ -252,66 +232,63 @@ public class TasksFragment extends BaseMainFragment implements OnCheckedChangeLi layoutOfType = R.layout.reward_item_card; adapter = new HabitItemRecyclerViewAdapter(Task.TYPE_REWARD, TasksFragment.this.tagsHelper, layoutOfType, HabitItemRecyclerViewAdapter.RewardViewHolder.class, activity, 0, - new HabitItemRecyclerViewAdapter.IAdditionalEntries() { - @Override - public void GetAdditionalEntries(final IReceiveNewEntries callBack) { + callBack -> { - // request buyable gear - if (mAPIHelper != null) { - mAPIHelper.apiService.getInventoryBuyableGear(new Callback>() { - @Override - public void success(List itemDatas, Response response) { + // request buyable gear + if (mAPIHelper != null) { + mAPIHelper.apiService.getInventoryBuyableGear(new Callback>() { + @Override + public void success(List itemDatas, Response response) { - // get itemdata list - ArrayList itemKeys = new ArrayList<>(); - for (ItemData item : itemDatas) { - itemKeys.add(item.key); - } - itemKeys.add("potion"); - if (user.getFlags().getArmoireEnabled()) - itemKeys.add("armoire"); + // get itemdata list + ArrayList itemKeys = new ArrayList<>(); + for (ItemData item : itemDatas) { + itemKeys.add(item.key); + } + itemKeys.add("potion"); + if (user.getFlags().getArmoireEnabled()) + itemKeys.add("armoire"); - contentCache.GetItemDataList(itemKeys, new ContentCache.GotContentEntryCallback>() { - @Override - public void GotObject(List obj) { - ArrayList buyableItems = new ArrayList<>(); + contentCache.GetItemDataList(itemKeys, new ContentCache.GotContentEntryCallback>() { + @Override + public void GotObject(List obj) { + ArrayList buyableItems = new ArrayList<>(); - for (ItemData item : obj) { - Task reward = new Task(); - reward.text = item.text; - reward.notes = item.notes; - reward.value = item.value; - reward.setType("reward"); - reward.specialTag = "item"; - reward.setId(item.key); + for (ItemData item : obj) { + Task reward = new Task(); + reward.text = item.text; + reward.notes = item.notes; + reward.value = item.value; + reward.setType("reward"); + reward.specialTag = "item"; + reward.setId(item.key); - if (item.key.equals("armoire")) { - if (user.getFlags().getArmoireEmpty()) { - reward.notes = getResources().getString(R.string.armoireNotesEmpty); - } else { - long gearCount = new Select().count() - .from(ItemData.class) - .where(Condition.CombinedCondition.begin(Condition.column("klass").eq("armoire")) - .and(Condition.column("owned").isNull()) - ).count(); - reward.notes = getResources().getString(R.string.armoireNotesFull, gearCount); - } + if (item.key.equals("armoire")) { + if (user.getFlags().getArmoireEmpty()) { + reward.notes = getResources().getString(R.string.armoireNotesEmpty); + } else { + long gearCount = new Select().count() + .from(ItemData.class) + .where(Condition.CombinedCondition.begin(Condition.column("klass").eq("armoire")) + .and(Condition.column("owned").isNull()) + ).count(); + reward.notes = getResources().getString(R.string.armoireNotesFull, gearCount); } - - buyableItems.add(reward); } - callBack.GotAdditionalItems(buyableItems); + buyableItems.add(reward); } - }); - } - @Override - public void failure(RetrofitError error) { + callBack.GotAdditionalItems(buyableItems); + } + }); + } - } - }); - } + @Override + public void failure(RetrofitError error) { + + } + }); } }); @@ -373,12 +350,7 @@ public class TasksFragment extends BaseMainFragment implements OnCheckedChangeLi if (fragm != null) { final HabitItemRecyclerViewAdapter adapter = (HabitItemRecyclerViewAdapter) fragm.mAdapter; adapter.dailyResetOffset = this.user.getPreferences().getDayStart(); - AsyncTask.execute(new Runnable() { - @Override - public void run() { - adapter.loadContent(true); - } - }); + AsyncTask.execute(() -> adapter.loadContent(true)); } } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/DataBindingUtils.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/DataBindingUtils.java index 3a473fef9..7e074ad9a 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/DataBindingUtils.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/DataBindingUtils.java @@ -5,6 +5,8 @@ import android.databinding.DataBindingUtil; import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.os.Build; +import android.support.v4.content.ContextCompat; +import android.support.v4.content.res.ResourcesCompat; import android.support.v7.widget.CardView; import android.view.View; import android.view.animation.Animation; @@ -47,7 +49,7 @@ public class DataBindingUtils { @BindingAdapter("bind:cardColor") public static void setCardColor(CardView cardView, int color) { if (color > 0) { - color = cardView.getResources().getColor(color); + color = ContextCompat.getColor(cardView.getContext(), color); } cardView.setCardBackgroundColor(color); } @@ -55,7 +57,7 @@ public class DataBindingUtils { @BindingAdapter("app:backgroundColor") public static void setBackgroundTintColor(CheckBox view, int color) { if (color > 0) { - color = view.getResources().getColor(color); + color = ContextCompat.getColor(view.getContext(), color); } ViewHelper.SetBackgroundTint(view, color); } @@ -63,7 +65,7 @@ public class DataBindingUtils { @BindingAdapter("app:backgroundColor") public static void setBackgroundTintColor(Button view, int color) { if (color > 0) { - color = view.getResources().getColor(color); + color = ContextCompat.getColor(view.getContext(), color); } ViewHelper.SetBackgroundTint(view, color); } @@ -71,7 +73,7 @@ public class DataBindingUtils { @BindingAdapter("app:backgroundColor") public static void setBackgroundTintColor(View view, int color) { if (color > 0) { - color = view.getResources().getColor(color); + color = ContextCompat.getColor(view.getContext(), color); } view.setBackgroundColor(color); } @@ -79,7 +81,7 @@ public class DataBindingUtils { @BindingAdapter("app:foregroundColor") public static void setForegroundTintColor(TextView view, int color) { if (color > 0) { - color = view.getResources().getColor(color); + color = ContextCompat.getColor(view.getContext(), color); } view.setTextColor(color); } @@ -100,8 +102,10 @@ public class DataBindingUtils { @BindingAdapter("app:rounded_background") public static void setRoundedBackground(View view, int color) { - Drawable drawable = view.getResources().getDrawable(R.drawable.layout_rounded_bg); - drawable.setColorFilter(color, PorterDuff.Mode.MULTIPLY); + Drawable drawable = ResourcesCompat.getDrawable(view.getResources(), R.drawable.layout_rounded_bg, null); + if (drawable != null) { + drawable.setColorFilter(color, PorterDuff.Mode.MULTIPLY); + } if (Build.VERSION.SDK_INT < 16) { view.setBackgroundDrawable(drawable); } else { @@ -112,7 +116,7 @@ public class DataBindingUtils { @BindingAdapter("app:rounded_background_int") public static void setRoundedBackgroundInt(View view, int color) { if (color != 0) { - setRoundedBackground(view, view.getResources().getColor(color)); + setRoundedBackground(view, ContextCompat.getColor(view.getContext(), color)); } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/EmojiKeyboard.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/EmojiKeyboard.java index f818666f2..14c421a25 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/EmojiKeyboard.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/EmojiKeyboard.java @@ -35,13 +35,7 @@ public class EmojiKeyboard { popup.setSizeForSoftKeyboard(); - popup.setOnDismissListener(new PopupWindow.OnDismissListener() { - - @Override - public void onDismiss() { - changeEmojiKeyboardIcon(emojiButton, context, false); - } - }); + popup.setOnDismissListener(() -> changeEmojiKeyboardIcon(emojiButton, context, false)); popup.setOnSoftKeyboardOpenCloseListener(new EmojiPopup.OnSoftKeyboardOpenCloseListener() { @@ -57,63 +51,51 @@ public class EmojiKeyboard { } }); - popup.setOnEmojiconClickedListener(new EmojiGridView.OnEmojiconClickedListener() { + popup.setOnEmojiconClickedListener(emojicon -> { + if (emojiEditText == null || emojicon == null) { + return; + } - @Override - public void onEmojiconClicked(Emojicon emojicon) { - if (emojiEditText == null || emojicon == null) { - return; - } - - int start = emojiEditText.getSelectionStart(); - int end = emojiEditText.getSelectionEnd(); - if (start < 0) { - emojiEditText.append(emojicon.getEmoji()); - } else { - emojiEditText.getText().replace(Math.min(start, end), - Math.max(start, end), emojicon.getEmoji(), 0, - emojicon.getEmoji().length()); - } + int start = emojiEditText.getSelectionStart(); + int end = emojiEditText.getSelectionEnd(); + if (start < 0) { + emojiEditText.append(emojicon.getEmoji()); + } else { + emojiEditText.getText().replace(Math.min(start, end), + Math.max(start, end), emojicon.getEmoji(), 0, + emojicon.getEmoji().length()); } }); - popup.setOnEmojiconBackspaceClickedListener(new EmojiPopup.OnEmojiconBackspaceClickedListener() { - - @Override - public void onEmojiconBackspaceClicked(View v) { - KeyEvent event = new KeyEvent( - 0, 0, 0, KeyEvent.KEYCODE_DEL, 0, 0, 0, 0, KeyEvent.KEYCODE_ENDCALL); - emojiEditText.dispatchKeyEvent(event); - } + popup.setOnEmojiconBackspaceClickedListener(v -> { + KeyEvent event = new KeyEvent( + 0, 0, 0, KeyEvent.KEYCODE_DEL, 0, 0, 0, 0, KeyEvent.KEYCODE_ENDCALL); + emojiEditText.dispatchKeyEvent(event); }); - emojiButton.setOnClickListener(new View.OnClickListener() { + emojiButton.setOnClickListener(v -> { - @Override - public void onClick(View v) { + if(!popup.isShowing()){ - if(!popup.isShowing()){ - - if(popup.isKeyBoardOpen()){ - popup.showAtBottom(); - changeEmojiKeyboardIcon(emojiButton, context, true); - } - - else{ - emojiEditText.setFocusableInTouchMode(true); - emojiEditText.requestFocus(); - popup.showAtBottomPending(); - final InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); - inputMethodManager.showSoftInput(emojiEditText, InputMethodManager.SHOW_IMPLICIT); - changeEmojiKeyboardIcon(emojiButton, context, true); - } + if(popup.isKeyBoardOpen()){ + popup.showAtBottom(); + changeEmojiKeyboardIcon(emojiButton, context, true); } else{ - popup.dismiss(); - changeEmojiKeyboardIcon(emojiButton, context, false); + emojiEditText.setFocusableInTouchMode(true); + emojiEditText.requestFocus(); + popup.showAtBottomPending(); + final InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); + inputMethodManager.showSoftInput(emojiEditText, InputMethodManager.SHOW_IMPLICIT); + changeEmojiKeyboardIcon(emojiButton, context, true); } } + + else{ + popup.dismiss(); + changeEmojiKeyboardIcon(emojiButton, context, false); + } }); } private static void changeEmojiKeyboardIcon(ImageButton view, Context context, Boolean keyboardOpened) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/FloatingActionMenuBehavior.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/FloatingActionMenuBehavior.java index 7ba515033..e9dc24852 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/FloatingActionMenuBehavior.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/helpers/FloatingActionMenuBehavior.java @@ -118,16 +118,13 @@ public class FloatingActionMenuBehavior extends CoordinatorLayout.Behavior { } private void resetAnimatingStatusWithDelay(final View child) { - child.postDelayed(new Runnable() { - @Override - public void run() { - isAnimating = false; - FloatingActionMenu fab = (FloatingActionMenu)((ViewGroup) child).getChildAt(0); - if (isOffScreen && fab != null) { - fab.hideMenu(false); - } - } - }, FAB_ANIMATION_DURATION); + child.postDelayed(() -> { + isAnimating = false; +FloatingActionMenu fab = (FloatingActionMenu)((ViewGroup) child).getChildAt(0); +if (isOffScreen && fab != null) { +fab.hideMenu(false); +} +}, FAB_ANIMATION_DURATION); } private void slideFabOffScreen(View view){ diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/BottomSheetMenuItem.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/BottomSheetMenuItem.java index d95a8eda6..e4c9b86bf 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/BottomSheetMenuItem.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/menu/BottomSheetMenuItem.java @@ -1,6 +1,7 @@ package com.habitrpg.android.habitica.ui.menu; import android.content.Context; +import android.support.v4.content.ContextCompat; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -30,7 +31,7 @@ public class BottomSheetMenuItem { TextView textView = (TextView)menuItemView.findViewById(R.id.textView); textView.setText(this.title); if (this.isDestructive) { - textView.setTextColor(context.getResources().getColor(R.color.worse_50)); + textView.setTextColor(ContextCompat.getColor(context, R.color.worse_50)); } return menuItemView; } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/userpicture/UserPicture.java b/Habitica/src/main/java/com/habitrpg/android/habitica/userpicture/UserPicture.java index 4033f7cdc..22c479010 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/userpicture/UserPicture.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/userpicture/UserPicture.java @@ -81,12 +81,7 @@ public class UserPicture { BitmapUtils.saveToFile(currentCacheFileName, res); if (this.imageView != null) { final Bitmap image = res; - imageView.post(new Runnable() { - @Override - public void run() { - imageView.setImageBitmap(image); - } - }); + imageView.post(() -> imageView.setImageBitmap(image)); } else { this.runnable.run(res); } diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/HabitRPGUser.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/HabitRPGUser.java index 4ac652f77..b37ded90b 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/HabitRPGUser.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/HabitRPGUser.java @@ -144,6 +144,7 @@ public class HabitRPGUser extends BaseModel { public void setItems(Items items) { this.items = items; + this.items.user_id = id; } public void setBalance(double balance) { @@ -242,7 +243,6 @@ public class HabitRPGUser extends BaseModel { authentication.user_id = id; flags.user_id = id; - ArrayList allTasks = new ArrayList(); if (dailys != null) { allTasks.addAll(dailys); diff --git a/Habitica/src/test/java/com/magicmicky/habitrpgwrapper/lib/utils/DateDeserializerTest.java b/Habitica/src/test/java/com/magicmicky/habitrpgwrapper/lib/utils/DateDeserializerTest.java index 22ff4dfca..062ad334c 100644 --- a/Habitica/src/test/java/com/magicmicky/habitrpgwrapper/lib/utils/DateDeserializerTest.java +++ b/Habitica/src/test/java/com/magicmicky/habitrpgwrapper/lib/utils/DateDeserializerTest.java @@ -1,7 +1,5 @@ package com.magicmicky.habitrpgwrapper.lib.utils; -import android.os.Build; - import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonElement; import com.google.gson.JsonParseException; @@ -21,7 +19,6 @@ import java.util.Date; import static org.hamcrest.core.Is.is; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertThat; -import static org.junit.Assert.assertTrue; @Config(constants = BuildConfig.class) @RunWith(RobolectricGradleTestRunner.class)