From 4b699d53769fac7c445ab2f53c222f6b859d2eef Mon Sep 17 00:00:00 2001 From: relan Date: Mon, 20 Jul 2015 11:17:40 +0300 Subject: [PATCH 1/5] Use AlertDialog from the support library This unifies look of alert dialogs across various Android versions and allows proper tinting. --- F-Droid/src/org/fdroid/fdroid/AppDetails.java | 2 +- F-Droid/src/org/fdroid/fdroid/FDroid.java | 25 +++---------------- .../installer/AppSecurityPermissions.java | 2 +- .../InstallIntoSystemDialogActivity.java | 2 +- .../fdroid/installer/SystemInstaller.java | 2 +- .../fdroid/views/ManageReposActivity.java | 2 +- .../views/fragments/PreferencesFragment.java | 2 +- .../views/fragments/RepoDetailsFragment.java | 2 +- 8 files changed, 10 insertions(+), 29 deletions(-) diff --git a/F-Droid/src/org/fdroid/fdroid/AppDetails.java b/F-Droid/src/org/fdroid/fdroid/AppDetails.java index f0a4d2fc4..76d17a2a0 100644 --- a/F-Droid/src/org/fdroid/fdroid/AppDetails.java +++ b/F-Droid/src/org/fdroid/fdroid/AppDetails.java @@ -21,7 +21,6 @@ package org.fdroid.fdroid; import android.app.Activity; -import android.app.AlertDialog; import android.app.ProgressDialog; import android.bluetooth.BluetoothAdapter; import android.content.ActivityNotFoundException; @@ -43,6 +42,7 @@ import android.support.v4.app.ListFragment; import android.support.v4.app.NavUtils; import android.support.v4.view.MenuItemCompat; import android.support.v7.app.ActionBarActivity; +import android.support.v7.app.AlertDialog; import android.text.Html; import android.text.Layout; import android.text.Selection; diff --git a/F-Droid/src/org/fdroid/fdroid/FDroid.java b/F-Droid/src/org/fdroid/fdroid/FDroid.java index e1fcea10d..4a525cbf7 100644 --- a/F-Droid/src/org/fdroid/fdroid/FDroid.java +++ b/F-Droid/src/org/fdroid/fdroid/FDroid.java @@ -19,7 +19,6 @@ package org.fdroid.fdroid; -import android.app.AlertDialog; import android.app.NotificationManager; import android.app.SearchManager; import android.bluetooth.BluetoothAdapter; @@ -30,13 +29,12 @@ import android.content.pm.PackageInfo; import android.content.res.Configuration; import android.database.ContentObserver; import android.net.Uri; -import android.os.Build; import android.os.Bundle; import android.support.v4.view.ViewPager; import android.support.v7.app.ActionBarActivity; +import android.support.v7.app.AlertDialog; import android.text.TextUtils; import android.util.Log; -import android.view.ContextThemeWrapper; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; @@ -279,16 +277,7 @@ public class FDroid extends ActionBarActivity { return true; case R.id.action_about: - View view; - if (Build.VERSION.SDK_INT >= 11) { - LayoutInflater li = LayoutInflater.from(this); - view = li.inflate(R.layout.about, null); - } else { - view = View.inflate( - new ContextThemeWrapper(this, R.style.AboutDialogLight), - R.layout.about, null); - } - + View view = LayoutInflater.from(this).inflate(R.layout.about, null); // Fill in the version... try { PackageInfo pi = getPackageManager() @@ -299,15 +288,7 @@ public class FDroid extends ActionBarActivity { } catch (Exception ignored) { } - AlertDialog.Builder builder; - if (Build.VERSION.SDK_INT >= 11) { - builder = new AlertDialog.Builder(this).setView(view); - } else { - builder = new AlertDialog.Builder( - new ContextThemeWrapper( - this, R.style.AboutDialogLight) - ).setView(view); - } + AlertDialog.Builder builder = new AlertDialog.Builder(this).setView(view); final AlertDialog alrt = builder.create(); alrt.setTitle(getString(R.string.about_title)); alrt.setButton(AlertDialog.BUTTON_NEUTRAL, diff --git a/F-Droid/src/org/fdroid/fdroid/installer/AppSecurityPermissions.java b/F-Droid/src/org/fdroid/fdroid/installer/AppSecurityPermissions.java index 3c2c0c5aa..f3c18ab5b 100644 --- a/F-Droid/src/org/fdroid/fdroid/installer/AppSecurityPermissions.java +++ b/F-Droid/src/org/fdroid/fdroid/installer/AppSecurityPermissions.java @@ -18,7 +18,6 @@ package org.fdroid.fdroid.installer; import android.annotation.TargetApi; -import android.app.AlertDialog; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; @@ -29,6 +28,7 @@ import android.content.pm.PermissionInfo; import android.graphics.drawable.Drawable; import android.os.Build; import android.os.Parcel; +import android.support.v7.app.AlertDialog; import android.text.SpannableStringBuilder; import android.text.TextUtils; import android.util.AttributeSet; diff --git a/F-Droid/src/org/fdroid/fdroid/installer/InstallIntoSystemDialogActivity.java b/F-Droid/src/org/fdroid/fdroid/installer/InstallIntoSystemDialogActivity.java index cb4717b2b..ded1cabb3 100644 --- a/F-Droid/src/org/fdroid/fdroid/installer/InstallIntoSystemDialogActivity.java +++ b/F-Droid/src/org/fdroid/fdroid/installer/InstallIntoSystemDialogActivity.java @@ -20,7 +20,6 @@ package org.fdroid.fdroid.installer; import android.app.Activity; -import android.app.AlertDialog; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; @@ -32,6 +31,7 @@ import android.os.AsyncTask; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.app.NotificationCompat; +import android.support.v7.app.AlertDialog; import android.text.Html; import android.util.Log; import android.view.ContextThemeWrapper; diff --git a/F-Droid/src/org/fdroid/fdroid/installer/SystemInstaller.java b/F-Droid/src/org/fdroid/fdroid/installer/SystemInstaller.java index 8794409ec..0a1cd08e2 100644 --- a/F-Droid/src/org/fdroid/fdroid/installer/SystemInstaller.java +++ b/F-Droid/src/org/fdroid/fdroid/installer/SystemInstaller.java @@ -21,7 +21,6 @@ package org.fdroid.fdroid.installer; import android.app.Activity; -import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.content.pm.ApplicationInfo; @@ -30,6 +29,7 @@ import android.content.pm.IPackageInstallObserver; import android.content.pm.PackageManager; import android.net.Uri; import android.os.RemoteException; +import android.support.v7.app.AlertDialog; import android.util.Log; import org.fdroid.fdroid.R; diff --git a/F-Droid/src/org/fdroid/fdroid/views/ManageReposActivity.java b/F-Droid/src/org/fdroid/fdroid/views/ManageReposActivity.java index 1b2af6c3d..b895f6a14 100644 --- a/F-Droid/src/org/fdroid/fdroid/views/ManageReposActivity.java +++ b/F-Droid/src/org/fdroid/fdroid/views/ManageReposActivity.java @@ -19,7 +19,6 @@ package org.fdroid.fdroid.views; -import android.app.AlertDialog; import android.content.ContentValues; import android.content.Context; import android.content.DialogInterface; @@ -42,6 +41,7 @@ import android.support.v4.app.NavUtils; import android.support.v4.content.CursorLoader; import android.support.v4.content.Loader; import android.support.v7.app.ActionBarActivity; +import android.support.v7.app.AlertDialog; import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; diff --git a/F-Droid/src/org/fdroid/fdroid/views/fragments/PreferencesFragment.java b/F-Droid/src/org/fdroid/fdroid/views/fragments/PreferencesFragment.java index 55752e9b9..c9373dd16 100644 --- a/F-Droid/src/org/fdroid/fdroid/views/fragments/PreferencesFragment.java +++ b/F-Droid/src/org/fdroid/fdroid/views/fragments/PreferencesFragment.java @@ -1,6 +1,5 @@ package org.fdroid.fdroid.views.fragments; -import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; @@ -11,6 +10,7 @@ import android.preference.EditTextPreference; import android.preference.ListPreference; import android.preference.Preference; import android.support.v4.preference.PreferenceFragment; +import android.support.v7.app.AlertDialog; import android.text.Html; import android.text.TextUtils; diff --git a/F-Droid/src/org/fdroid/fdroid/views/fragments/RepoDetailsFragment.java b/F-Droid/src/org/fdroid/fdroid/views/fragments/RepoDetailsFragment.java index 630fee3e0..9986b9149 100644 --- a/F-Droid/src/org/fdroid/fdroid/views/fragments/RepoDetailsFragment.java +++ b/F-Droid/src/org/fdroid/fdroid/views/fragments/RepoDetailsFragment.java @@ -2,7 +2,6 @@ package org.fdroid.fdroid.views.fragments; import android.annotation.TargetApi; import android.app.Activity; -import android.app.AlertDialog; import android.content.ContentValues; import android.content.DialogInterface; import android.content.Intent; @@ -11,6 +10,7 @@ import android.os.Build; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.view.MenuItemCompat; +import android.support.v7.app.AlertDialog; import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; From 04e8b591ababbc29139b6b89d0eab62d841c3629 Mon Sep 17 00:00:00 2001 From: relan Date: Thu, 23 Jul 2015 09:19:20 +0300 Subject: [PATCH 2/5] Tint alert dialogs Apply the accent color to alert dialog buttons. Note that without "android:windowMinWidthMajor" and "android:windowMinWidthMinor" attributes dialog width is calculated incorrectly resulting in visual artifacts. --- F-Droid/res/values-v11/styles.xml | 14 ++++++++++++++ F-Droid/res/values/styles.xml | 17 ++++++++++++----- 2 files changed, 26 insertions(+), 5 deletions(-) create mode 100644 F-Droid/res/values-v11/styles.xml diff --git a/F-Droid/res/values-v11/styles.xml b/F-Droid/res/values-v11/styles.xml new file mode 100644 index 000000000..9829cba41 --- /dev/null +++ b/F-Droid/res/values-v11/styles.xml @@ -0,0 +1,14 @@ + + + + + + + + diff --git a/F-Droid/res/values/styles.xml b/F-Droid/res/values/styles.xml index 1e9bc925d..b916a9f6f 100644 --- a/F-Droid/res/values/styles.xml +++ b/F-Droid/res/values/styles.xml @@ -6,6 +6,7 @@ @color/fdroid_blue @color/fdroid_blue_dark @color/fdroid_green + @style/AlertDialogThemeDark #FF000000 #FFFFFFFF #FFFF0000 - - @@ -33,6 +30,16 @@ + + + + - \ No newline at end of file + From 28ba6921d1b5055e813774347c8dcdcaabc63093 Mon Sep 17 00:00:00 2001 From: relan Date: Thu, 23 Jul 2015 09:46:33 +0300 Subject: [PATCH 4/5] Tint links Apply the accent color to links. --- F-Droid/res/values/styles.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/F-Droid/res/values/styles.xml b/F-Droid/res/values/styles.xml index b916a9f6f..c28aa35bb 100644 --- a/F-Droid/res/values/styles.xml +++ b/F-Droid/res/values/styles.xml @@ -6,6 +6,7 @@ @color/fdroid_blue @color/fdroid_blue_dark @color/fdroid_green + @color/fdroid_green @style/AlertDialogThemeDark @@ -15,6 +16,7 @@ @color/fdroid_blue @color/fdroid_blue_dark @color/fdroid_green + @color/fdroid_green @style/AlertDialogThemeLight From 8f2c82728093befa6014da8d46ed4d544f372119 Mon Sep 17 00:00:00 2001 From: relan Date: Thu, 23 Jul 2015 09:47:27 +0300 Subject: [PATCH 5/5] Fix padding in dialogs Padding around content area should be 24dp. See the Material Design spec: http://www.google.com/design/spec/components/dialogs.html#dialogs-specs --- F-Droid/res/layout/about.xml | 11 +++++------ F-Droid/res/layout/addrepo.xml | 6 +++++- F-Droid/res/layout/repodiscoverylist.xml | 11 ++++++++--- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/F-Droid/res/layout/about.xml b/F-Droid/res/layout/about.xml index 909a8518d..671e6153e 100644 --- a/F-Droid/res/layout/about.xml +++ b/F-Droid/res/layout/about.xml @@ -2,12 +2,11 @@ diff --git a/F-Droid/res/layout/addrepo.xml b/F-Droid/res/layout/addrepo.xml index d94d86a20..c9d2d6522 100644 --- a/F-Droid/res/layout/addrepo.xml +++ b/F-Droid/res/layout/addrepo.xml @@ -3,7 +3,11 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:padding="6dp"> + android:paddingLeft="24dp" + android:paddingStart="24dp" + android:paddingRight="24dp" + android:paddingEnd="24dp" + android:paddingTop="20dp"> + android:layout_height="match_parent" + android:paddingLeft="24dp" + android:paddingStart="24dp" + android:paddingRight="24dp" + android:paddingEnd="24dp" + android:paddingTop="20dp" > - \ No newline at end of file +