diff --git a/app/src/main/java/com/github/dfa/diaspora_android/activity/MainActivity.java b/app/src/main/java/com/github/dfa/diaspora_android/activity/MainActivity.java
index fbc15087..c47f6b5c 100644
--- a/app/src/main/java/com/github/dfa/diaspora_android/activity/MainActivity.java
+++ b/app/src/main/java/com/github/dfa/diaspora_android/activity/MainActivity.java
@@ -399,6 +399,7 @@ public class MainActivity extends ThemedActivity
navMenu.findItem(R.id.nav_profile).setVisible(appSettings.isVisibleInNavProfile());
navMenu.findItem(R.id.nav_public).setVisible(appSettings.isVisibleInNavPublic_activities());
navMenu.findItem(R.id.nav_stream).setVisible(true);
+ navMenu.findItem(R.id.nav_reports).setVisible(appSettings.isVisibleInNavReports());
// Hide whole group (for logged in use) if no pod was selected
@@ -1029,8 +1030,8 @@ public class MainActivity extends ThemedActivity
} else {
snackbarNoInternet.show();
}
- break;
}
+ break;
case R.id.nav_public: {
if (WebHelper.isOnline(MainActivity.this)) {
@@ -1038,14 +1039,23 @@ public class MainActivity extends ThemedActivity
} else {
snackbarNoInternet.show();
}
- break;
}
+ break;
+
+ case R.id.nav_reports: {
+ if(WebHelper.isOnline(MainActivity.this)) {
+ openDiasporaUrl(urls.getReportsUrl());
+ } else {
+ snackbarNoInternet.show();
+ }
+ }
+ break;
case R.id.nav_exit: {
moveTaskToBack(true);
finish();
- break;
}
+ break;
case R.id.nav_settings: {
startActivity(new Intent(this, SettingsActivity.class));
diff --git a/app/src/main/java/com/github/dfa/diaspora_android/util/AppSettings.java b/app/src/main/java/com/github/dfa/diaspora_android/util/AppSettings.java
index 35a88b19..d1442a46 100644
--- a/app/src/main/java/com/github/dfa/diaspora_android/util/AppSettings.java
+++ b/app/src/main/java/com/github/dfa/diaspora_android/util/AppSettings.java
@@ -394,6 +394,10 @@ public class AppSettings {
return getBoolean(prefApp, R.string.pref_key__visibility_nav__contacts, false);
}
+ public boolean isVisibleInNavReports() {
+ return getBoolean(prefApp, R.string.pref_key__visibility_nav__reports, false);
+ }
+
public void setPrimaryColorSettings(int base, int shade) {
setInt(prefApp, R.string.pref_key__primary_color_base, base);
setInt(prefApp, R.string.pref_key__primary_color_shade, shade);
diff --git a/app/src/main/java/com/github/dfa/diaspora_android/util/DiasporaUrlHelper.java b/app/src/main/java/com/github/dfa/diaspora_android/util/DiasporaUrlHelper.java
index 7eea373a..1e0dc582 100644
--- a/app/src/main/java/com/github/dfa/diaspora_android/util/DiasporaUrlHelper.java
+++ b/app/src/main/java/com/github/dfa/diaspora_android/util/DiasporaUrlHelper.java
@@ -53,6 +53,7 @@ public class DiasporaUrlHelper {
public static final String SUBURL_MANAGE_TAGS = "/tag_followings/manage";
public static final String SUBURL_SIGN_IN = "/users/sign_in";
public static final String SUBURL_MANAGE_CONTACTS = "/contacts";
+ public static final String SUBURL_REPORTS = "/reports";
public static final String URL_BLANK = "about:blank";
public static final String SUBURL_NOTIFICATIONS_ALSO_COMMENTED = "/notifications?type=also_commented";
public static final String SUBURL_NOTIFICATIONS_COMMENT_ON_POST = "/notifications?type=comment_on_post";
@@ -237,6 +238,16 @@ public class DiasporaUrlHelper {
return getPodUrl() + SUBURL_STATISTICS;
}
+ /**
+ * Return an Url that points to the reports page of a the configured pod.
+ * Note: This url is only useful/visible for podmins and moderators.
+ *
+ * @return https://(pod-domain.tld)/reports
+ */
+ public String getReportsUrl() {
+ return getPodUrl() + SUBURL_REPORTS;
+ }
+
/**
* Return a url that points to the sign in page of the pod.
*
diff --git a/app/src/main/java/com/github/dfa/diaspora_android/web/BrowserFragment.java b/app/src/main/java/com/github/dfa/diaspora_android/web/BrowserFragment.java
index cc42ef7c..3ce1a338 100644
--- a/app/src/main/java/com/github/dfa/diaspora_android/web/BrowserFragment.java
+++ b/app/src/main/java/com/github/dfa/diaspora_android/web/BrowserFragment.java
@@ -19,6 +19,7 @@
package com.github.dfa.diaspora_android.web;
import android.Manifest;
+import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.MutableContextWrapper;
@@ -256,6 +257,14 @@ public class BrowserFragment extends ThemedFragment {
/* Nothing to do here */
}
+ @Override
+ public void onAttach(Context context) {
+ super.onAttach(context);
+ if(webView != null && webView.getContext() instanceof MutableContextWrapper) {
+ ((MutableContextWrapper) webView.getContext()).setBaseContext(context);
+ }
+ }
+
public boolean onBackPressed() {
if (webView.canGoBack()) {
getActivity().runOnUiThread(new Runnable() {
diff --git a/app/src/main/java/com/github/dfa/diaspora_android/web/ContextMenuWebView.java b/app/src/main/java/com/github/dfa/diaspora_android/web/ContextMenuWebView.java
index 39f3d4bc..f9fc22fb 100644
--- a/app/src/main/java/com/github/dfa/diaspora_android/web/ContextMenuWebView.java
+++ b/app/src/main/java/com/github/dfa/diaspora_android/web/ContextMenuWebView.java
@@ -114,6 +114,7 @@ public class ContextMenuWebView extends NestedWebView {
+ System.currentTimeMillis() + ".png");
request.setDestinationUri(Uri.fromFile(destinationFile));
((DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE)).enqueue(request);
+
Toast.makeText(context, context.getText(R.string.share__toast_saved_image_to_location) + " " +
destinationFile.getAbsolutePath(), Toast.LENGTH_LONG).show();
}
diff --git a/app/src/main/res/drawable/ic_report_black_48px.xml b/app/src/main/res/drawable/ic_report_black_48px.xml
new file mode 100644
index 00000000..7777c6b4
--- /dev/null
+++ b/app/src/main/res/drawable/ic_report_black_48px.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/menu/main__navdrawer.xml b/app/src/main/res/menu/main__navdrawer.xml
index 7e863176..c57c38ee 100644
--- a/app/src/main/res/menu/main__navdrawer.xml
+++ b/app/src/main/res/menu/main__navdrawer.xml
@@ -53,6 +53,11 @@
android:icon="@drawable/ic_public_black_48px"
android:title="@string/nav_public_activities" />
+
+
- pref_key__visibility_nav__followed_tags
pref_key__visibility_nav__profile
pref_key__visibility_nav__contacts
+ pref_key__visibility_nav__reports
podUserProfile_avatar
@@ -74,6 +75,9 @@
Navigation Slider
Control visibility of entries in the navigation drawer
Item visibility
+ User
+ General
+ Admin
Theme and Colors
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 25119cba..46d3b243 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -70,6 +70,7 @@
Followed Tags
Public activities
@string/contacts
+ Reports
Share link as text
Share screenshot of webpage
diff --git a/app/src/main/res/xml/preferences__sub_navslider_vis.xml b/app/src/main/res/xml/preferences__sub_navslider_vis.xml
index 0579a6be..d4e8da4b 100644
--- a/app/src/main/res/xml/preferences__sub_navslider_vis.xml
+++ b/app/src/main/res/xml/preferences__sub_navslider_vis.xml
@@ -1,54 +1,73 @@
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file