diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java index 85def28fdb..9b993a0027 100644 --- a/app/src/main/java/eu/faircode/email/ActivityView.java +++ b/app/src/main/java/eu/faircode/email/ActivityView.java @@ -49,20 +49,13 @@ import android.widget.CheckBox; import android.widget.ListView; import android.widget.TextView; -import java.util.Date; import java.util.List; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; - -import javax.mail.Address; -import javax.mail.internet.InternetAddress; public class ActivityView extends ActivityBase implements FragmentManager.OnBackStackChangedListener, SharedPreferences.OnSharedPreferenceChangeListener { private boolean newIntent = false; private DrawerLayout drawerLayout; private ListView drawerList; private ActionBarDrawerToggle drawerToggle; - private ExecutorService executor = Executors.newCachedThreadPool(); static final int LOADER_ACCOUNT_PUT = 1; static final int LOADER_IDENTITY_PUT = 2; @@ -114,8 +107,8 @@ public class ActivityView extends ActivityBase implements FragmentManager.OnBack case R.string.menu_setup: onMenuSetup(); break; - case R.string.menu_debug: - onMenuDebug(); + case R.string.menu_about: + onMenuAbout(); break; } @@ -286,7 +279,7 @@ public class ActivityView extends ActivityBase implements FragmentManager.OnBack public void updateDrawer() { ArrayAdapterDrawer drawerArray = new ArrayAdapterDrawer(this, R.layout.item_drawer); drawerArray.add(new DrawerItem(ActivityView.this, R.string.menu_setup)); - drawerArray.add(new DrawerItem(ActivityView.this, R.string.menu_debug)); + drawerArray.add(new DrawerItem(ActivityView.this, R.string.menu_about)); drawerList.setAdapter(drawerArray); } @@ -302,42 +295,10 @@ public class ActivityView extends ActivityBase implements FragmentManager.OnBack startActivity(new Intent(ActivityView.this, ActivitySetup.class)); } - private void onMenuDebug() { - executor.submit(new Runnable() { - @Override - public void run() { - try { - DB db = DB.getInstance(ActivityView.this); - EntityFolder drafts = db.folder().getPrimaryFolder(EntityFolder.TYPE_DRAFTS); - if (drafts != null) { - StringBuilder info = Helper.getDebugInfo(); - info.insert(0, getString(R.string.title_debug_info) + "\n\n\n\n"); - - Address to = new InternetAddress("marcel+email@faircode.eu", "FairCode"); - - EntityMessage draft = new EntityMessage(); - draft.account = drafts.account; - draft.folder = drafts.id; - draft.to = MessageHelper.encodeAddresses(new Address[]{to}); - draft.subject = BuildConfig.APPLICATION_ID + " debug info"; - draft.body = "
" + info.toString().replaceAll("\\r?\\n", "
") + "";
- draft.received = new Date().getTime();
- draft.seen = false;
- draft.ui_seen = false;
- draft.ui_hide = false;
- draft.id = db.message().insertMessage(draft);
-
- EntityOperation.queue(ActivityView.this, draft, EntityOperation.ADD);
- EntityOperation.process(ActivityView.this);
-
- startActivity(new Intent(ActivityView.this, ActivityCompose.class)
- .putExtra("id", draft.id));
- }
- } catch (Throwable ex) {
- Log.w(Helper.TAG, ex + "\n" + Log.getStackTraceString(ex));
- }
- }
- });
+ private void onMenuAbout() {
+ FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
+ fragmentTransaction.replace(R.id.content_frame, new FragmentAbout()).addToBackStack("about");
+ fragmentTransaction.commit();
}
private class DrawerItem {
diff --git a/app/src/main/java/eu/faircode/email/FragmentAbout.java b/app/src/main/java/eu/faircode/email/FragmentAbout.java
new file mode 100644
index 0000000000..bc0141dddd
--- /dev/null
+++ b/app/src/main/java/eu/faircode/email/FragmentAbout.java
@@ -0,0 +1,105 @@
+package eu.faircode.email;
+
+/*
+ This file is part of Safe email.
+
+ Safe email is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ NetGuard is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with NetGuard. If not, see " + info.toString().replaceAll("\\r?\\n", "
") + "";
+ draft.received = new Date().getTime();
+ draft.seen = false;
+ draft.ui_seen = false;
+ draft.ui_hide = false;
+ draft.id = db.message().insertMessage(draft);
+
+ EntityOperation.queue(getContext(), draft, EntityOperation.ADD);
+ EntityOperation.process(getContext());
+
+ startActivity(new Intent(getContext(), ActivityCompose.class)
+ .putExtra("id", draft.id));
+ }
+ } catch (Throwable ex) {
+ Log.w(Helper.TAG, ex + "\n" + Log.getStackTraceString(ex));
+ }
+ }
+ });
+ }
+ });
+
+ return view;
+ }
+
+ @Override
+ public void onPrepareOptionsMenu(Menu menu) {
+ menu.clear();
+ }
+}
diff --git a/app/src/main/res/layout/fragment_about.xml b/app/src/main/res/layout/fragment_about.xml
new file mode 100644
index 0000000000..49c4ae2850
--- /dev/null
+++ b/app/src/main/res/layout/fragment_about.xml
@@ -0,0 +1,63 @@
+
+