diff --git a/Habitica/res/layout/fragment_party_info.xml b/Habitica/res/layout/fragment_party_info.xml index 00cddc227..ec9c7a5ab 100644 --- a/Habitica/res/layout/fragment_party_info.xml +++ b/Habitica/res/layout/fragment_party_info.xml @@ -31,25 +31,6 @@ android:layout_height="wrap_content" android:orientation="vertical"> - - - - - + android:layout_height="wrap_content" + android:layout_marginTop="8dp"> @@ -71,8 +71,7 @@ + android:layout_height="match_parent"> @@ -119,8 +118,7 @@ + android:layout_height="match_parent"> diff --git a/Habitica/res/menu/login.xml b/Habitica/res/menu/login.xml index e1312d106..f3da6bcd3 100644 --- a/Habitica/res/menu/login.xml +++ b/Habitica/res/menu/login.xml @@ -7,7 +7,7 @@ android:id="@+id/action_toggleRegistering" android:orderInCategory="1" app:showAsAction="ifRoom" - android:title="@string/register_btn" + android:title="@string/login_btn" abc:showAsAction="ifRoom"/> \ No newline at end of file diff --git a/Habitica/res/menu/menu_task_form.xml b/Habitica/res/menu/menu_task_form.xml index e4ad7505d..3146ac971 100644 --- a/Habitica/res/menu/menu_task_form.xml +++ b/Habitica/res/menu/menu_task_form.xml @@ -2,6 +2,6 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:context="com.habitrpg.android.habitica.TaskFormActivity"> - diff --git a/Habitica/res/mipmap-hdpi/ic_launcher.png b/Habitica/res/mipmap-hdpi/ic_launcher.png index 6a0c8c79d..0fcf3a8ef 100644 Binary files a/Habitica/res/mipmap-hdpi/ic_launcher.png and b/Habitica/res/mipmap-hdpi/ic_launcher.png differ diff --git a/Habitica/res/mipmap-mdpi/ic_launcher.png b/Habitica/res/mipmap-mdpi/ic_launcher.png index 429ab7645..a88c680ce 100644 Binary files a/Habitica/res/mipmap-mdpi/ic_launcher.png and b/Habitica/res/mipmap-mdpi/ic_launcher.png differ diff --git a/Habitica/res/mipmap-xhdpi/ic_launcher.png b/Habitica/res/mipmap-xhdpi/ic_launcher.png index 4d84329fe..64927937a 100644 Binary files a/Habitica/res/mipmap-xhdpi/ic_launcher.png and b/Habitica/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/Habitica/res/mipmap-xxhdpi/ic_launcher.png b/Habitica/res/mipmap-xxhdpi/ic_launcher.png index f184d9b7b..b3f973b52 100644 Binary files a/Habitica/res/mipmap-xxhdpi/ic_launcher.png and b/Habitica/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/Habitica/res/mipmap-xxxhdpi/ic_launcher.png b/Habitica/res/mipmap-xxxhdpi/ic_launcher.png index d57c2e48d..f0f9304d2 100644 Binary files a/Habitica/res/mipmap-xxxhdpi/ic_launcher.png and b/Habitica/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml index a5ea26752..d81889223 100644 --- a/Habitica/res/values/strings.xml +++ b/Habitica/res/values/strings.xml @@ -141,7 +141,7 @@ Add item… Add Task - Cancel + Save Notes Text Difficulty @@ -195,4 +195,6 @@ Remember to check off your Dailies! Using Skill Coming Soon + Are you sure you want to report this message for violation? + Flag Message \ No newline at end of file diff --git a/Habitica/src/com/habitrpg/android/habitica/APIHelper.java b/Habitica/src/com/habitrpg/android/habitica/APIHelper.java index e9179234a..fa11aa21d 100644 --- a/Habitica/src/com/habitrpg/android/habitica/APIHelper.java +++ b/Habitica/src/com/habitrpg/android/habitica/APIHelper.java @@ -68,6 +68,7 @@ public class APIHelper implements ErrorHandler, Profiler { 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"); } }; diff --git a/Habitica/src/com/habitrpg/android/habitica/LoginActivity.java b/Habitica/src/com/habitrpg/android/habitica/LoginActivity.java index 33ce560f1..40ef42584 100644 --- a/Habitica/src/com/habitrpg/android/habitica/LoginActivity.java +++ b/Habitica/src/com/habitrpg/android/habitica/LoginActivity.java @@ -114,8 +114,8 @@ public class LoginActivity extends AppCompatActivity } mApiHelper = new APIHelper(this,hc); - this.isRegistering = false; - } + this.isRegistering = true; + } private void resetLayout() { if (this.isRegistering) { @@ -181,16 +181,20 @@ public class LoginActivity extends AppCompatActivity private void toggleRegistering() { this.isRegistering = !this.isRegistering; + this.setRegistering(this.isRegistering); + } + + private void setRegistering(boolean registering) { MenuItem menuItem = menu.findItem(R.id.action_toggleRegistering); if (this.isRegistering) { this.mLoginNormalBtn.setText(getString(R.string.register_btn)); menuItem.setTitle(getString(R.string.login_btn)); - mUsernameET.setHint(R.string.username); + mUsernameET.setHint(R.string.username); mPasswordET.setImeOptions(EditorInfo.IME_ACTION_NEXT); } else { this.mLoginNormalBtn.setText(getString(R.string.login_btn)); menuItem.setTitle(getString(R.string.register_btn)); - mUsernameET.setHint(R.string.email_username); + mUsernameET.setHint(R.string.email_username); mPasswordET.setImeOptions(EditorInfo.IME_ACTION_DONE); } this.resetLayout(); diff --git a/Habitica/src/com/habitrpg/android/habitica/MainActivity.java b/Habitica/src/com/habitrpg/android/habitica/MainActivity.java index fc4a3d1cc..08280140f 100644 --- a/Habitica/src/com/habitrpg/android/habitica/MainActivity.java +++ b/Habitica/src/com/habitrpg/android/habitica/MainActivity.java @@ -455,7 +455,10 @@ public class MainActivity extends AppCompatActivity implements HabitRPGUserCallb } public void showSnackbar(String content, SnackbarDisplayType displayType) { - Snackbar snackbar = Snackbar.make(floatingMenuWrapper, content, Snackbar.LENGTH_LONG); + if (this.isFinishing()) { + return; + } + Snackbar snackbar = Snackbar.make(floatingMenuWrapper, content, Snackbar.LENGTH_LONG); View snackbarView = snackbar.getView(); if (displayType == SnackbarDisplayType.FAILURE) { diff --git a/Habitica/src/com/habitrpg/android/habitica/TaskFormActivity.java b/Habitica/src/com/habitrpg/android/habitica/TaskFormActivity.java index 0d9f077b0..2dfeebf69 100644 --- a/Habitica/src/com/habitrpg/android/habitica/TaskFormActivity.java +++ b/Habitica/src/com/habitrpg/android/habitica/TaskFormActivity.java @@ -313,9 +313,8 @@ public class TaskFormActivity extends AppCompatActivity implements AdapterView.O int id = item.getItemId(); //noinspection SimplifiableIfStatement - if (id == R.id.action_discard_changes) { - finish(); - dismissKeyboard(); + if (id == R.id.action_save_changes) { + finishActivitySuccessfuly(); return true; } @@ -452,13 +451,15 @@ public class TaskFormActivity extends AppCompatActivity implements AdapterView.O @Override public boolean onSupportNavigateUp() { - this.finishActivitySuccessfuly(); + finish(); + dismissKeyboard(); return true; } @Override public void onBackPressed() { - this.finishActivitySuccessfuly(); + finish(); + dismissKeyboard(); } private void finishActivitySuccessfuly() { diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/adapter/ChatRecyclerViewAdapter.java b/Habitica/src/com/habitrpg/android/habitica/ui/adapter/ChatRecyclerViewAdapter.java index 98ff688d4..529bb5ab0 100644 --- a/Habitica/src/com/habitrpg/android/habitica/ui/adapter/ChatRecyclerViewAdapter.java +++ b/Habitica/src/com/habitrpg/android/habitica/ui/adapter/ChatRecyclerViewAdapter.java @@ -14,6 +14,7 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; +import com.habitrpg.android.habitica.HabiticaApplication; import com.habitrpg.android.habitica.R; import com.habitrpg.android.habitica.events.commands.CopyChatAsTodoCommand; import com.habitrpg.android.habitica.events.commands.DeleteChatMessageCommand; @@ -190,6 +191,7 @@ public class ChatRecyclerViewAdapter extends RecyclerView.Adapter() { - @Override - public void success(Void aVoid, Response response) { - showSnackbar("Flagged message by " + cmd.chatMessage.user, false); - } + AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); + builder.setMessage(R.string.chat_flag_confirmation) + .setPositiveButton(R.string.flag_confirm, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + apiHelper.apiService.flagMessage(cmd.groupId, cmd.chatMessage.id, new Callback() { + @Override + public void success(Void aVoid, Response response) { + activity.showSnackbar("Flagged message by " + cmd.chatMessage.user); + } - @Override - public void failure(RetrofitError error) { - showSnackbar("Failed to flag message by " + cmd.chatMessage.user, true); - } - }); + @Override + public void failure(RetrofitError error) { + } + }); } + }) + .setNegativeButton(R.string.action_cancel, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + } + }); + builder.show(); } public void onEvent(final ToggleLikeMessageCommand cmd) { diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/PartyFragment.java b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/PartyFragment.java index 7072ec217..f578fb25b 100644 --- a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/PartyFragment.java +++ b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/PartyFragment.java @@ -98,7 +98,7 @@ public class PartyFragment extends BaseFragment { break; } case 1: { - fragment = new ChatListFragment(activity, "party", mAPIHelper, user, false); + fragment = new ChatListFragment(activity, "party", mAPIHelper, user, activity, false); break; } case 2: { diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/TavernFragment.java b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/TavernFragment.java index 3d65f7931..f9ec99874 100644 --- a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/TavernFragment.java +++ b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/TavernFragment.java @@ -21,7 +21,7 @@ public class TavernFragment extends BaseFragment { super.onCreateView(inflater, container, savedInstanceState); View v = inflater.inflate(R.layout.fragment_tavern, container, false); - setFragment(new ChatListFragment(activity, "habitrpg", mAPIHelper, user, true)); + setFragment(new ChatListFragment(activity, "habitrpg", mAPIHelper, user, activity, true)); return v; }