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;
}