mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-07-14 18:21:57 +00:00
fix deprecated usages
This commit is contained in:
parent
e05786b454
commit
f93d8ba585
39 changed files with 594 additions and 978 deletions
|
|
@ -99,7 +99,6 @@
|
|||
android:orientation="vertical"
|
||||
android:id="@+id/task_difficulty_wrapper">
|
||||
<TextView
|
||||
android:id="@+id/textView2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
|
|
@ -120,7 +119,6 @@
|
|||
android:layout_marginTop="20dp"
|
||||
android:id="@+id/task_attribute_wrapper">
|
||||
<TextView
|
||||
android:id="@+id/attribute_title_textview"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
|
|
@ -146,8 +144,7 @@
|
|||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView5"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/actions"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge" />
|
||||
|
|
@ -158,8 +155,7 @@
|
|||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView7"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_centerVertical="true"
|
||||
|
|
@ -183,8 +179,7 @@
|
|||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView8"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_centerVertical="true"
|
||||
|
|
@ -213,7 +208,6 @@
|
|||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView9"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
|
|
@ -265,7 +259,6 @@
|
|||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView10"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/frequency"
|
||||
|
|
@ -295,7 +288,6 @@
|
|||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
|
|
@ -359,7 +351,6 @@
|
|||
android:id="@+id/task_tags_wrapper">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView6"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/tags"
|
||||
|
|
|
|||
|
|
@ -98,13 +98,10 @@ public class APIHelper implements ErrorHandler, Profiler {
|
|||
Crashlytics.getInstance().core.setUserName(cfg.getUser());
|
||||
Amplitude.getInstance().setUserId(cfg.getUser());
|
||||
|
||||
RequestInterceptor requestInterceptor = new RequestInterceptor() {
|
||||
@Override
|
||||
public void intercept(RequestInterceptor.RequestFacade request) {
|
||||
request.addHeader("x-api-key", cfg.getApi());
|
||||
request.addHeader("x-api-user", cfg.getUser());
|
||||
request.addHeader("x-client", "habitica-android");
|
||||
}
|
||||
RequestInterceptor requestInterceptor = request -> {
|
||||
request.addHeader("x-api-key", cfg.getApi());
|
||||
request.addHeader("x-api-user", cfg.getUser());
|
||||
request.addHeader("x-client", "habitica-android");
|
||||
};
|
||||
|
||||
Type taskTagClassListType = new TypeToken<List<TaskTag>>() {
|
||||
|
|
@ -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();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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){
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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<EditTextDrawer, EditTe
|
|||
this.view = view;
|
||||
ButterKnife.bind(this, view);
|
||||
|
||||
ViewHelper.SetBackgroundTint(btnAdd, view.getResources().getColor(R.color.brand));
|
||||
ViewHelper.SetBackgroundTint(btnAdd, ContextCompat.getColor(view.getContext(), R.color.brand));
|
||||
|
||||
btnAdd.setOnClickListener(this);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,12 +58,7 @@ public class MainDrawerBuilder {
|
|||
.addProfiles(
|
||||
new ProfileDrawerItem()
|
||||
)
|
||||
.withOnAccountHeaderListener(new AccountHeader.OnAccountHeaderListener() {
|
||||
@Override
|
||||
public boolean onProfileChanged(View view, IProfile profile, boolean currentProfile) {
|
||||
return false;
|
||||
}
|
||||
})
|
||||
.withOnAccountHeaderListener((view, profile, currentProfile) -> 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;
|
||||
|
|
|
|||
|
|
@ -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<SectionIconDrawerI
|
|||
viewHolder.view.setEnabled(false);
|
||||
|
||||
//define the text color
|
||||
viewHolder.name.setTextColor(ctx.getResources().getColor(R.color.white));
|
||||
viewHolder.name.setTextColor(ContextCompat.getColor(ctx, R.color.white));
|
||||
|
||||
//set the text for the name
|
||||
StringHolder.applyTo(this.getName(), viewHolder.name);
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ public class AboutActivity extends BaseActivity {
|
|||
}
|
||||
});
|
||||
|
||||
tabLayout.setTabsFromPagerAdapter(adapter);
|
||||
tabLayout.setupWithViewPager(pager);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -72,13 +72,7 @@ public class GroupFormActivity extends BaseActivity {
|
|||
popup = new EmojiPopup(emojiButton.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
|
||||
|
|
@ -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);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<Task> 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<Task> 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<ChecklistItem> allChecklistItems = new ArrayList<>();
|
||||
ArrayList<ChecklistItem> 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<HabitRPGUser>() {
|
||||
@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();
|
||||
|
||||
|
|
|
|||
|
|
@ -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<CharSequence>();
|
||||
allTags = new ArrayList<CheckBox>();
|
||||
userSelectedTagIds = new ArrayList<String>();
|
||||
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<CharSequence> 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);
|
||||
|
|
|
|||
|
|
@ -179,28 +179,22 @@ public class CustomizationRecyclerViewAdapter extends RecyclerView.Adapter<Recyc
|
|||
priceLabel.setText(String.valueOf(customization.getPrice()));
|
||||
|
||||
AlertDialog dialog = new AlertDialog.Builder(context)
|
||||
.setPositiveButton(R.string.purchase_button, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int 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;
|
||||
.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<Recyc
|
|||
priceLabel.setText(String.valueOf(set.price));
|
||||
|
||||
AlertDialog dialog = new AlertDialog.Builder(context)
|
||||
.setPositiveButton(R.string.purchase_button, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int 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();
|
||||
}
|
||||
.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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<SkillsRecycl
|
|||
|
||||
Skill skill;
|
||||
|
||||
Resources resources;
|
||||
Context context;
|
||||
|
||||
public SkillViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
|
||||
ButterKnife.bind(this, itemView);
|
||||
|
||||
resources = itemView.getResources();
|
||||
context = itemView.getContext();
|
||||
|
||||
priceButton.setOnClickListener(this);
|
||||
}
|
||||
|
|
@ -87,16 +88,16 @@ public class SkillsRecyclerViewAdapter extends RecyclerView.Adapter<SkillsRecycl
|
|||
this.skill = skill;
|
||||
skillNameTextView.setText(skill.text);
|
||||
skillNotesTextView.setText(skill.notes);
|
||||
priceButton.setText(String.format(resources.getString(R.string.mana_price_button), skill.mana));
|
||||
priceButton.setText(String.format(context.getResources().getString(R.string.mana_price_button), skill.mana));
|
||||
|
||||
if (skill.mana > 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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -138,40 +138,37 @@ public class ItemRecyclerAdapter extends RecyclerView.Adapter<ItemRecyclerAdapte
|
|||
} else if (item instanceof QuestContent) {
|
||||
menu.addMenuItem(new BottomSheetMenuItem(resources.getString(R.string.invite_party)));
|
||||
}
|
||||
menu.setSelectionRunnable(new BottomSheetMenuSelectionRunnable() {
|
||||
@Override
|
||||
public void selectedItemAt(Integer 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());
|
||||
}
|
||||
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();
|
||||
|
|
|
|||
|
|
@ -193,7 +193,7 @@ public class ChatRecyclerViewAdapter extends RecyclerView.Adapter<ChatRecyclerVi
|
|||
case TYPE_DANIEL: {
|
||||
btnToggleInn.setOnClickListener(this);
|
||||
|
||||
ViewHelper.SetBackgroundTint(btnToggleInn, res.getColor(R.color.brand));
|
||||
ViewHelper.SetBackgroundTint(btnToggleInn, ContextCompat.getColor(context, R.color.brand));
|
||||
if(HabiticaApplication.User != null && HabiticaApplication.User.getPreferences().getSleep()){
|
||||
btnToggleInn.setText(R.string.tavern_inn_checkOut);
|
||||
}else{
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package com.habitrpg.android.habitica.ui.adapter.social;
|
|||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.databinding.DataBindingUtil;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.LayoutInflater;
|
||||
|
|
@ -131,7 +132,7 @@ public class PartyMemberRecyclerViewAdapter extends RecyclerView.Adapter<PartyMe
|
|||
default:
|
||||
colorResourceID = R.color.task_gray;
|
||||
}
|
||||
ViewHelper.SetBackgroundTint(classBackground, resources.getColor(colorResourceID));
|
||||
ViewHelper.SetBackgroundTint(classBackground, ContextCompat.getColor(context, colorResourceID));
|
||||
userName.setText(user.getProfile().getName());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -186,14 +186,11 @@ public class HabitItemRecyclerViewAdapter<THabitItem extends Task>
|
|||
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<THabitItem extends Task>
|
|||
}
|
||||
|
||||
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<THabitItem extends Task>
|
|||
|
||||
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();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<Sku> skus = gems.getSkus();
|
||||
java.util.List<Sku> skus = gems.getSkus();
|
||||
|
||||
for (Sku sku : skus){
|
||||
updateBuyButtonText(sku.price);
|
||||
}
|
||||
for (Sku sku : skus){
|
||||
updateBuyButtonText(sku.price);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -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<Mount> 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<Mount> 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();
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<String, Object> updateData = new HashMap<>();
|
||||
updateData.put("preferences.costume", isChecked);
|
||||
command.updateData = updateData;
|
||||
this.costumeSwitch.setOnCheckedChangeListener((buttonView, isChecked) -> {
|
||||
UpdateUserCommand command = new UpdateUserCommand();
|
||||
Map<String, Object> updateData = new HashMap<>();
|
||||
updateData.put("preferences.costume", isChecked);
|
||||
command.updateData = updateData;
|
||||
|
||||
EventBus.getDefault().post(command);
|
||||
}
|
||||
EventBus.getDefault().post(command);
|
||||
});
|
||||
|
||||
if (this.nameMapping == null) {
|
||||
|
|
|
|||
|
|
@ -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<Void>() {
|
||||
@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<Void>() {
|
||||
@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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<Void>() {
|
||||
@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<Void>() {
|
||||
@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<Group>() {
|
||||
@Override
|
||||
public void success(Group group, Response response) {
|
||||
setGroup(group);
|
||||
}
|
||||
.setPositiveButton(R.string.yes, (dialog, which) -> {
|
||||
mAPIHelper.apiService.forceStartQuest(group.id, group, new Callback<Group>() {
|
||||
@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<Void>() {
|
||||
@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<Void>() {
|
||||
@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<Group>() {
|
||||
@Override
|
||||
public void success(Group group, Response response) {
|
||||
setGroup(group);
|
||||
setQuestContent(null);
|
||||
}
|
||||
.setPositiveButton("Yes", (dialog, which) -> {
|
||||
mAPIHelper.apiService.abortQuest(group.id, new Callback<Group>() {
|
||||
@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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<List<ItemData>>() {
|
||||
@Override
|
||||
public void success(List<ItemData> itemDatas, Response response) {
|
||||
// request buyable gear
|
||||
if (mAPIHelper != null) {
|
||||
mAPIHelper.apiService.getInventoryBuyableGear(new Callback<List<ItemData>>() {
|
||||
@Override
|
||||
public void success(List<ItemData> itemDatas, Response response) {
|
||||
|
||||
// get itemdata list
|
||||
ArrayList<String> 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<String> 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<List<ItemData>>() {
|
||||
@Override
|
||||
public void GotObject(List<ItemData> obj) {
|
||||
ArrayList<Task> buyableItems = new ArrayList<>();
|
||||
contentCache.GetItemDataList(itemKeys, new ContentCache.GotContentEntryCallback<List<ItemData>>() {
|
||||
@Override
|
||||
public void GotObject(List<ItemData> obj) {
|
||||
ArrayList<Task> 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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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){
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<Task> allTasks = new ArrayList<Task>();
|
||||
if (dailys != null) {
|
||||
allTasks.addAll(dailys);
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in a new issue