From 0f2ae6521bff6b1fdc39d98c28f32437c9c1f30c Mon Sep 17 00:00:00 2001 From: Mygod Date: Fri, 11 Mar 2016 22:53:18 +0800 Subject: [PATCH 1/3] Oops fix a bug --- .../scala/com/github/shadowsocks/ShadowsocksSettings.scala | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksSettings.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksSettings.scala index c99199fe..5e9218fc 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksSettings.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksSettings.scala @@ -15,7 +15,7 @@ import android.webkit.{WebView, WebViewClient} import com.github.shadowsocks.database.Profile import com.github.shadowsocks.preferences._ import com.github.shadowsocks.utils.CloseUtils._ -import com.github.shadowsocks.utils.Key +import com.github.shadowsocks.utils.{Key, Utils} object ShadowsocksSettings { // Constants @@ -198,7 +198,8 @@ class ShadowsocksSettings extends PreferenceFragment with OnSharedPreferenceChan this.enabled = enabled for (name <- Key.isNAT #:: PROXY_PREFS.toStream #::: FEATURE_PREFS.toStream) { val pref = findPreference(name) - if (pref != null) pref.setEnabled(enabled) + if (pref != null) pref.setEnabled(enabled && + (name != Key.isProxyApps || Utils.isLollipopOrAbove || !ShadowsocksApplication.isVpnEnabled)) } } From 1c37c449d52d7a47d12b3a28bf79a1f4c242a01d Mon Sep 17 00:00:00 2001 From: Mygod Date: Fri, 11 Mar 2016 23:05:31 +0800 Subject: [PATCH 2/3] Update dependencies --- build.sbt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build.sbt b/build.sbt index fcd92b70..3807a1da 100644 --- a/build.sbt +++ b/build.sbt @@ -6,7 +6,7 @@ platformTarget in Android := "android-23" name := "shadowsocks" -scalaVersion := "2.11.7" +scalaVersion := "2.11.8" compileOrder in Compile := CompileOrder.JavaThenScala @@ -30,14 +30,14 @@ libraryDependencies ++= Seq( "dnsjava" % "dnsjava" % "2.1.7", "com.github.kevinsawicki" % "http-request" % "6.0", "commons-net" % "commons-net" % "3.4", - "eu.chainfire" % "libsuperuser" % "1.0.0.201602011018", + "eu.chainfire" % "libsuperuser" % "1.0.0.201602271131", "com.google.zxing" % "android-integration" % "3.2.1", "net.glxn.qrgen" % "android" % "2.0", "com.google.android.gms" % "play-services-base" % "8.4.0", "com.google.android.gms" % "play-services-ads" % "8.4.0", "com.google.android.gms" % "play-services-analytics" % "8.4.0", - "com.android.support" % "design" % "23.1.1", - "com.android.support" % "gridlayout-v7" % "23.1.1", + "com.android.support" % "design" % "23.2.1", + "com.android.support" % "gridlayout-v7" % "23.2.1", "com.github.jorgecastilloprz" % "fabprogresscircle" % "1.01", "com.j256.ormlite" % "ormlite-core" % "4.48", "com.j256.ormlite" % "ormlite-android" % "4.48", From 8fd8514cc234ccbbd25489f12270c77003233713 Mon Sep 17 00:00:00 2001 From: Mygod Date: Sat, 12 Mar 2016 11:14:55 +0800 Subject: [PATCH 3/3] Refine layout for #598 --- src/main/res/layout/layout_quick_switch.xml | 38 +++++++------------ .../ShadowsocksQuickSwitchActivity.scala | 9 ++--- 2 files changed, 18 insertions(+), 29 deletions(-) diff --git a/src/main/res/layout/layout_quick_switch.xml b/src/main/res/layout/layout_quick_switch.xml index b461f18d..954a7e56 100644 --- a/src/main/res/layout/layout_quick_switch.xml +++ b/src/main/res/layout/layout_quick_switch.xml @@ -1,34 +1,24 @@ - - - + app:cardBackgroundColor="#EEEEEE"> - - + - - - - - \ No newline at end of file + android:layout_width="wrap_content" + android:layout_height="wrap_content"/> + + diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksQuickSwitchActivity.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksQuickSwitchActivity.scala index 90519940..4467428a 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksQuickSwitchActivity.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksQuickSwitchActivity.scala @@ -27,11 +27,7 @@ class ShadowsocksQuickSwitchActivity extends AppCompatActivity { def bind(item: Profile) { this.item = item text.setText(item.name) - if (item.id == ShadowsocksApplication.profileId) { - text.setChecked(true) - } else { - text.setChecked(false) - } + text.setChecked(item.id == ShadowsocksApplication.profileId) } def onClick(v: View) { @@ -74,5 +70,8 @@ class ShadowsocksQuickSwitchActivity extends AppCompatActivity { profilesList.setLayoutManager(lm) profilesList.setItemAnimator(new DefaultItemAnimator) profilesList.setAdapter(profilesAdapter) + if (ShadowsocksApplication.profileId >= 0) lm.scrollToPosition(profilesAdapter.profiles.zipWithIndex.collectFirst { + case (profile, i) if profile.id == ShadowsocksApplication.profileId => i + 1 + }.getOrElse(0)) } }