Commit 6ade0645 authored by Max Lv's avatar Max Lv

Merge pull request #600 from Mygod/master

Refine layout for #598
parents 14a53248 8fd8514c
...@@ -6,7 +6,7 @@ platformTarget in Android := "android-23" ...@@ -6,7 +6,7 @@ platformTarget in Android := "android-23"
name := "shadowsocks" name := "shadowsocks"
scalaVersion := "2.11.7" scalaVersion := "2.11.8"
compileOrder in Compile := CompileOrder.JavaThenScala compileOrder in Compile := CompileOrder.JavaThenScala
...@@ -30,15 +30,15 @@ libraryDependencies ++= Seq( ...@@ -30,15 +30,15 @@ libraryDependencies ++= Seq(
"dnsjava" % "dnsjava" % "2.1.7", "dnsjava" % "dnsjava" % "2.1.7",
"com.github.kevinsawicki" % "http-request" % "6.0", "com.github.kevinsawicki" % "http-request" % "6.0",
"commons-net" % "commons-net" % "3.4", "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", "com.google.zxing" % "android-integration" % "3.2.1",
"net.glxn.qrgen" % "android" % "2.0", "net.glxn.qrgen" % "android" % "2.0",
"com.google.android.gms" % "play-services-base" % "8.4.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-ads" % "8.4.0",
"com.google.android.gms" % "play-services-analytics" % "8.4.0", "com.google.android.gms" % "play-services-analytics" % "8.4.0",
"com.android.support" % "design" % "23.1.1", "com.android.support" % "design" % "23.2.1",
"com.android.support" % "gridlayout-v7" % "23.1.1", "com.android.support" % "gridlayout-v7" % "23.2.1",
"com.android.support" % "cardview-v7" % "23.2.0", "com.android.support" % "cardview-v7" % "23.2.1",
"com.github.jorgecastilloprz" % "fabprogresscircle" % "1.01", "com.github.jorgecastilloprz" % "fabprogresscircle" % "1.01",
"com.j256.ormlite" % "ormlite-core" % "4.48", "com.j256.ormlite" % "ormlite-core" % "4.48",
"com.j256.ormlite" % "ormlite-android" % "4.48", "com.j256.ormlite" % "ormlite-android" % "4.48",
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <android.support.v7.widget.CardView
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" xmlns:app="http://schemas.android.com/apk/res-auto"
android:clickable="true" android:layout_height="wrap_content"
android:foreground="@android:color/transparent" android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.CardView
android:layout_height="260dp"
android:layout_width="match_parent"
android:layout_margin="8dp" android:layout_margin="8dp"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:clickable="true"
app:cardElevation="5dp" app:cardElevation="5dp"
app:cardBackgroundColor="#EEEEEE" app:cardBackgroundColor="#EEEEEE">
>
<LinearLayout <LinearLayout
android:orientation="vertical" android:orientation="vertical"
android:layout_width="match_parent" android:layout_width="wrap_content"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<include layout="@layout/toolbar_light_dark"/> <include layout="@layout/toolbar_light_dark"/>
<android.support.v7.widget.RecyclerView <android.support.v7.widget.RecyclerView
android:id="@+id/profilesList" android:id="@+id/profilesList"
android:layout_width="match_parent" android:layout_width="wrap_content"
android:layout_height="match_parent"/> android:layout_height="wrap_content"/>
</LinearLayout> </LinearLayout>
</android.support.v7.widget.CardView> </android.support.v7.widget.CardView>
</LinearLayout>
\ No newline at end of file
...@@ -27,11 +27,7 @@ class ShadowsocksQuickSwitchActivity extends AppCompatActivity { ...@@ -27,11 +27,7 @@ class ShadowsocksQuickSwitchActivity extends AppCompatActivity {
def bind(item: Profile) { def bind(item: Profile) {
this.item = item this.item = item
text.setText(item.name) text.setText(item.name)
if (item.id == ShadowsocksApplication.profileId) { text.setChecked(item.id == ShadowsocksApplication.profileId)
text.setChecked(true)
} else {
text.setChecked(false)
}
} }
def onClick(v: View) { def onClick(v: View) {
...@@ -74,5 +70,8 @@ class ShadowsocksQuickSwitchActivity extends AppCompatActivity { ...@@ -74,5 +70,8 @@ class ShadowsocksQuickSwitchActivity extends AppCompatActivity {
profilesList.setLayoutManager(lm) profilesList.setLayoutManager(lm)
profilesList.setItemAnimator(new DefaultItemAnimator) profilesList.setItemAnimator(new DefaultItemAnimator)
profilesList.setAdapter(profilesAdapter) 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))
} }
} }
...@@ -15,7 +15,7 @@ import android.webkit.{WebView, WebViewClient} ...@@ -15,7 +15,7 @@ import android.webkit.{WebView, WebViewClient}
import com.github.shadowsocks.database.Profile import com.github.shadowsocks.database.Profile
import com.github.shadowsocks.preferences._ import com.github.shadowsocks.preferences._
import com.github.shadowsocks.utils.CloseUtils._ import com.github.shadowsocks.utils.CloseUtils._
import com.github.shadowsocks.utils.Key import com.github.shadowsocks.utils.{Key, Utils}
object ShadowsocksSettings { object ShadowsocksSettings {
// Constants // Constants
...@@ -198,7 +198,8 @@ class ShadowsocksSettings extends PreferenceFragment with OnSharedPreferenceChan ...@@ -198,7 +198,8 @@ class ShadowsocksSettings extends PreferenceFragment with OnSharedPreferenceChan
this.enabled = enabled this.enabled = enabled
for (name <- Key.isNAT #:: PROXY_PREFS.toStream #::: FEATURE_PREFS.toStream) { for (name <- Key.isNAT #:: PROXY_PREFS.toStream #::: FEATURE_PREFS.toStream) {
val pref = findPreference(name) val pref = findPreference(name)
if (pref != null) pref.setEnabled(enabled) if (pref != null) pref.setEnabled(enabled &&
(name != Key.isProxyApps || Utils.isLollipopOrAbove || !ShadowsocksApplication.isVpnEnabled))
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment