diff --git a/build.sbt b/build.sbt index 10646322..8fea1e81 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,15 +30,15 @@ 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" % "cardview-v7" % "23.2.0", + "com.android.support" % "design" % "23.2.1", + "com.android.support" % "gridlayout-v7" % "23.2.1", + "com.android.support" % "cardview-v7" % "23.2.1", "com.github.jorgecastilloprz" % "fabprogresscircle" % "1.01", "com.j256.ormlite" % "ormlite-core" % "4.48", "com.j256.ormlite" % "ormlite-android" % "4.48", 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)) } } 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)) } }