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"/> -