diff --git a/app/src/main/java/com/keepassdroid/AboutDialog.java b/app/src/main/java/com/keepassdroid/AboutDialog.java
index 8a18f80ac..80cc00cf7 100644
--- a/app/src/main/java/com/keepassdroid/AboutDialog.java
+++ b/app/src/main/java/com/keepassdroid/AboutDialog.java
@@ -21,35 +21,39 @@ package com.keepassdroid;
import android.app.Dialog;
import android.content.Context;
+import android.content.DialogInterface;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle;
+import android.support.v4.app.DialogFragment;
+import android.support.v7.app.AlertDialog;
+import android.view.LayoutInflater;
import android.view.View;
-import android.widget.Button;
import android.widget.TextView;
import com.android.keepass.R;
-public class AboutDialog extends Dialog {
-
- public AboutDialog(Context context) {
- super(context);
- }
+public class AboutDialog extends DialogFragment {
+
+ private View root;
@Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.about);
- setTitle(R.string.app_name);
-
- setVersion();
-
- Button okButton = (Button) findViewById(R.id.about_button);
- okButton.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- dismiss();
- }
- });
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ LayoutInflater inflater = getActivity().getLayoutInflater();
+
+ root = inflater.inflate(R.layout.about, null);
+
+ setVersion();
+
+ builder.setView(root)
+ .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int id) {
+ dismiss();
+ }
+ });
+ return builder.create();
}
private void setVersion() {
@@ -62,7 +66,7 @@ public class AboutDialog extends Dialog {
e.printStackTrace();
version = "";
}
- TextView tv = (TextView) findViewById(R.id.version);
+ TextView tv = (TextView) root.findViewById(R.id.version);
tv.setText(version);
}
}
diff --git a/app/src/main/java/com/keepassdroid/utils/MenuUtil.java b/app/src/main/java/com/keepassdroid/utils/MenuUtil.java
index 22e31b1f4..f67755e43 100644
--- a/app/src/main/java/com/keepassdroid/utils/MenuUtil.java
+++ b/app/src/main/java/com/keepassdroid/utils/MenuUtil.java
@@ -1,7 +1,7 @@
package com.keepassdroid.utils;
-import android.app.Activity;
import android.content.ActivityNotFoundException;
+import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
@@ -19,7 +19,7 @@ public class MenuUtil {
inflater.inflate(R.menu.default_menu, menu);
}
- public static boolean onDefaultMenuOptionsItemSelected(Activity activity, MenuItem item) {
+ public static boolean onDefaultMenuOptionsItemSelected(AppCompatActivity activity, MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_donate:
try {
@@ -28,17 +28,17 @@ public class MenuUtil {
Toast.makeText(activity, R.string.error_failed_to_launch_link, Toast.LENGTH_LONG).show();
return false;
}
-
- return true;
- case R.id.menu_about:
- AboutDialog dialog = new AboutDialog(activity);
- dialog.show();
return true;
case R.id.menu_app_settings:
SettingsActivity.Launch(activity);
return true;
+ case R.id.menu_about:
+ AboutDialog dialog = new AboutDialog();
+ dialog.show(activity.getSupportFragmentManager(), "aboutDialog");
+ return true;
+
default:
return true;
}
diff --git a/app/src/main/res/layout/about.xml b/app/src/main/res/layout/about.xml
index d7416fa86..46d545824 100644
--- a/app/src/main/res/layout/about.xml
+++ b/app/src/main/res/layout/about.xml
@@ -19,13 +19,14 @@
-->
+ android:text="@string/version_label"
+ style="@style/KeepassDXStyle.TextAppearance.Title"/>
+ android:text="@string/about_homepage"
+ style="@style/KeepassDXStyle.TextAppearance.Title"/>
+ android:text="@string/about_feedback"
+ style="@style/KeepassDXStyle.TextAppearance.Title"/>
-
+ android:text="@string/disclaimer_formal"
+ style="@style/KeepassDXStyle.TextAppearance.TinyText"/>
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index dc4eb6661..2263f6358 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -95,6 +95,9 @@
+