From dbb137c5d8a5826aee684ca180a45af952c29cf5 Mon Sep 17 00:00:00 2001 From: Mygod Date: Fri, 16 Dec 2016 23:02:33 +0800 Subject: [PATCH] Initial redesign draft for #762 --- build.sbt | 3 +- src/main/AndroidManifest.xml | 44 +- .../github/shadowsocks/DialogFragment.java | 15 + src/main/res/drawable/ic_action_delete.xml | 9 + src/main/res/drawable/ic_action_done.xml | 9 + src/main/res/drawable/ic_image_edit.xml | 9 + src/main/res/drawable/ic_social_share.xml | 9 - .../res/layout/layout_global_settings.xml | 12 + src/main/res/layout/layout_main.xml | 148 +++--- src/main/res/layout/layout_profile_config.xml | 12 + src/main/res/layout/layout_profiles.xml | 73 +-- src/main/res/layout/layout_profiles_item.xml | 82 ++-- src/main/res/menu/profile_config_menu.xml | 32 ++ src/main/res/menu/profile_manager_menu.xml | 20 + src/main/res/values-v21/dimen.xml | 2 +- src/main/res/values/colors.xml | 3 +- src/main/res/values/dimen.xml | 2 +- src/main/res/values/styles.xml | 4 +- src/main/res/xml/pref_global.xml | 16 + .../xml/{pref_all.xml => pref_profile.xml} | 41 +- .../com/github/shadowsocks/AppManager.scala | 35 +- .../shadowsocks/GlobalConfigFragment.scala | 69 +++ .../shadowsocks/GlobalSettingsFragment.scala | 14 + .../{Shadowsocks.scala => MainActivity.scala} | 319 +++++++------ .../shadowsocks/ProfileConfigActivity.scala | 20 + .../shadowsocks/ProfileConfigFragment.scala | 103 +++++ .../shadowsocks/ProfileManagerActivity.scala | 425 ------------------ .../github/shadowsocks/ProfilesFragment.scala | 270 +++++++++++ .../com/github/shadowsocks/QRCodeDialog.scala | 41 ++ .../shadowsocks/ServiceBoundContext.scala | 4 +- .../shadowsocks/ShadowsocksNotification.scala | 2 +- .../shadowsocks/ShadowsocksSettings.scala | 286 ------------ .../github/shadowsocks/ToolbarFragment.scala | 17 + .../github/shadowsocks/database/Profile.scala | 41 +- .../github/shadowsocks/utils/Constants.scala | 13 +- .../github/shadowsocks/utils/Typefaces.scala | 28 ++ .../widget/FloatingActionMenuBehavior.scala | 85 ---- 37 files changed, 1069 insertions(+), 1248 deletions(-) create mode 100644 src/main/java/com/github/shadowsocks/DialogFragment.java create mode 100644 src/main/res/drawable/ic_action_delete.xml create mode 100644 src/main/res/drawable/ic_action_done.xml create mode 100644 src/main/res/drawable/ic_image_edit.xml delete mode 100644 src/main/res/drawable/ic_social_share.xml create mode 100644 src/main/res/layout/layout_global_settings.xml create mode 100644 src/main/res/layout/layout_profile_config.xml create mode 100644 src/main/res/menu/profile_config_menu.xml create mode 100644 src/main/res/xml/pref_global.xml rename src/main/res/xml/{pref_all.xml => pref_profile.xml} (69%) create mode 100644 src/main/scala/com/github/shadowsocks/GlobalConfigFragment.scala create mode 100644 src/main/scala/com/github/shadowsocks/GlobalSettingsFragment.scala rename src/main/scala/com/github/shadowsocks/{Shadowsocks.scala => MainActivity.scala} (65%) create mode 100644 src/main/scala/com/github/shadowsocks/ProfileConfigActivity.scala create mode 100644 src/main/scala/com/github/shadowsocks/ProfileConfigFragment.scala delete mode 100644 src/main/scala/com/github/shadowsocks/ProfileManagerActivity.scala create mode 100644 src/main/scala/com/github/shadowsocks/ProfilesFragment.scala create mode 100644 src/main/scala/com/github/shadowsocks/QRCodeDialog.scala delete mode 100644 src/main/scala/com/github/shadowsocks/ShadowsocksSettings.scala create mode 100644 src/main/scala/com/github/shadowsocks/ToolbarFragment.scala create mode 100644 src/main/scala/com/github/shadowsocks/utils/Typefaces.scala delete mode 100644 src/main/scala/com/github/shadowsocks/widget/FloatingActionMenuBehavior.scala diff --git a/build.sbt b/build.sbt index a7231dfe..f4669e8e 100644 --- a/build.sbt +++ b/build.sbt @@ -31,17 +31,18 @@ resConfigs := Seq("ja", "ru", "zh-rCN", "zh-rTW") resolvers += Resolver.jcenterRepo libraryDependencies ++= + "com.android.support" % "cardview-v7" % "25.1.0" :: "com.android.support" % "design" % "25.1.0" :: "com.android.support" % "gridlayout-v7" % "25.1.0" :: "com.android.support" % "preference-v14" % "25.1.0" :: "com.evernote" % "android-job" % "1.1.3" :: - "com.github.clans" % "fab" % "1.6.4" :: "com.github.jorgecastilloprz" % "fabprogresscircle" % "1.01" :: "com.github.kevinsawicki" % "http-request" % "6.0" :: "com.google.android.gms" % "play-services-ads" % "10.0.1" :: "com.google.android.gms" % "play-services-analytics" % "10.0.1" :: "com.google.android.gms" % "play-services-gcm" % "10.0.1" :: "com.j256.ormlite" % "ormlite-android" % "5.0" :: + "com.mikepenz" % "materialdrawer" % "5.8.1" :: "com.twofortyfouram" % "android-plugin-api-for-locale" % "1.0.2" :: "dnsjava" % "dnsjava" % "2.1.7" :: "eu.chainfire" % "libsuperuser" % "1.0.0.201608240809" :: diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index 6ac582fd..7238022b 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -38,7 +38,7 @@ android:value="AEdPqrEAAAAI_zVxZthz2HDuz9toTvkYvL0L5GA-OjeUIfBeXg"/> @@ -49,28 +49,6 @@ - - - - - - - - - - - @@ -82,18 +60,34 @@ + + + + + diff --git a/src/main/java/com/github/shadowsocks/DialogFragment.java b/src/main/java/com/github/shadowsocks/DialogFragment.java new file mode 100644 index 00000000..b05b2ade --- /dev/null +++ b/src/main/java/com/github/shadowsocks/DialogFragment.java @@ -0,0 +1,15 @@ +package com.github.shadowsocks; + +import android.app.Activity; + +/** + * This helper class is used to solve Java-Scala interop problem. Use onAttach(Context) and remove this class + * when minSdkVersion >= 23. + * + * @author Mygod + */ +public class DialogFragment extends android.app.DialogFragment { + protected void superOnAttach(Activity activity) { + super.onAttach(activity); + } +} diff --git a/src/main/res/drawable/ic_action_delete.xml b/src/main/res/drawable/ic_action_delete.xml new file mode 100644 index 00000000..89c372c3 --- /dev/null +++ b/src/main/res/drawable/ic_action_delete.xml @@ -0,0 +1,9 @@ + + + diff --git a/src/main/res/drawable/ic_action_done.xml b/src/main/res/drawable/ic_action_done.xml new file mode 100644 index 00000000..33a117f6 --- /dev/null +++ b/src/main/res/drawable/ic_action_done.xml @@ -0,0 +1,9 @@ + + + diff --git a/src/main/res/drawable/ic_image_edit.xml b/src/main/res/drawable/ic_image_edit.xml new file mode 100644 index 00000000..2ab2fb75 --- /dev/null +++ b/src/main/res/drawable/ic_image_edit.xml @@ -0,0 +1,9 @@ + + + diff --git a/src/main/res/drawable/ic_social_share.xml b/src/main/res/drawable/ic_social_share.xml deleted file mode 100644 index e3fe874d..00000000 --- a/src/main/res/drawable/ic_social_share.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/src/main/res/layout/layout_global_settings.xml b/src/main/res/layout/layout_global_settings.xml new file mode 100644 index 00000000..38261be2 --- /dev/null +++ b/src/main/res/layout/layout_global_settings.xml @@ -0,0 +1,12 @@ + + + + + diff --git a/src/main/res/layout/layout_main.xml b/src/main/res/layout/layout_main.xml index 59b3a58b..957f7fde 100644 --- a/src/main/res/layout/layout_main.xml +++ b/src/main/res/layout/layout_main.xml @@ -3,83 +3,87 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:ignore="UnknownIdInLayout" android:clipChildren="false"> - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + android:layout_marginTop="@dimen/fab_margin_top"> + + + + diff --git a/src/main/res/layout/layout_profiles.xml b/src/main/res/layout/layout_profiles.xml index ac543fe5..e8a868b6 100644 --- a/src/main/res/layout/layout_profiles.xml +++ b/src/main/res/layout/layout_profiles.xml @@ -1,68 +1,13 @@ - - - - - - - - - - - - + android:layout_height="match_parent" + android:orientation="vertical"> + + diff --git a/src/main/res/layout/layout_profiles_item.xml b/src/main/res/layout/layout_profiles_item.xml index d1f856b3..45447659 100644 --- a/src/main/res/layout/layout_profiles_item.xml +++ b/src/main/res/layout/layout_profiles_item.xml @@ -1,37 +1,47 @@ - - - - - + + + + + + + + + + diff --git a/src/main/res/menu/profile_config_menu.xml b/src/main/res/menu/profile_config_menu.xml new file mode 100644 index 00000000..2b4a8dea --- /dev/null +++ b/src/main/res/menu/profile_config_menu.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + diff --git a/src/main/res/menu/profile_manager_menu.xml b/src/main/res/menu/profile_manager_menu.xml index e087585f..e5fae051 100644 --- a/src/main/res/menu/profile_manager_menu.xml +++ b/src/main/res/menu/profile_manager_menu.xml @@ -1,6 +1,26 @@ + + + + + + + - -28dp + -28dp diff --git a/src/main/res/values/colors.xml b/src/main/res/values/colors.xml index afb029ba..d0374a8a 100644 --- a/src/main/res/values/colors.xml +++ b/src/main/res/values/colors.xml @@ -3,12 +3,13 @@ #388E3C + #00C853 #90A4AE #607D8B #455A64 @color/material_blue_grey_300 @color/material_blue_grey_500 @color/material_blue_grey_700 - @color/material_blue_grey_500 + @color/material_green_a700 diff --git a/src/main/res/values/dimen.xml b/src/main/res/values/dimen.xml index f8e782e7..c11d2a7a 100644 --- a/src/main/res/values/dimen.xml +++ b/src/main/res/values/dimen.xml @@ -1,5 +1,5 @@ - -44dp + -44dp diff --git a/src/main/res/values/styles.xml b/src/main/res/values/styles.xml index e9d26c2d..34c54e0a 100644 --- a/src/main/res/values/styles.xml +++ b/src/main/res/values/styles.xml @@ -6,11 +6,11 @@ 24sp -