diff --git a/src/main/res/drawable-hdpi/ab_bottom_solid_shadow.9.png b/src/main/res/drawable-hdpi/ab_bottom_solid_shadow.9.png index afca9466..758468cf 100755 Binary files a/src/main/res/drawable-hdpi/ab_bottom_solid_shadow.9.png and b/src/main/res/drawable-hdpi/ab_bottom_solid_shadow.9.png differ diff --git a/src/main/res/drawable-hdpi/ab_solid_shadow.9.png b/src/main/res/drawable-hdpi/ab_solid_shadow.9.png index fb524bdc..da77e95c 100755 Binary files a/src/main/res/drawable-hdpi/ab_solid_shadow.9.png and b/src/main/res/drawable-hdpi/ab_solid_shadow.9.png differ diff --git a/src/main/res/drawable-hdpi/ab_texture_tile_shadow.png b/src/main/res/drawable-hdpi/ab_texture_tile_shadow.png index cc8dee60..45512c35 100755 Binary files a/src/main/res/drawable-hdpi/ab_texture_tile_shadow.png and b/src/main/res/drawable-hdpi/ab_texture_tile_shadow.png differ diff --git a/src/main/res/drawable-hdpi/btn_cab_done_pressed_shadow.9.png b/src/main/res/drawable-hdpi/btn_cab_done_pressed_shadow.9.png index ef1f8f0b..8d332ef2 100755 Binary files a/src/main/res/drawable-hdpi/btn_cab_done_pressed_shadow.9.png and b/src/main/res/drawable-hdpi/btn_cab_done_pressed_shadow.9.png differ diff --git a/src/main/res/drawable-hdpi/list_pressed_shadow.9.png b/src/main/res/drawable-hdpi/list_pressed_shadow.9.png new file mode 100755 index 00000000..74e43594 Binary files /dev/null and b/src/main/res/drawable-hdpi/list_pressed_shadow.9.png differ diff --git a/src/main/res/drawable-hdpi/menu_dropdown_panel_shadow.9.png b/src/main/res/drawable-hdpi/menu_dropdown_panel_shadow.9.png index bab5e3ba..9e12ec08 100755 Binary files a/src/main/res/drawable-hdpi/menu_dropdown_panel_shadow.9.png and b/src/main/res/drawable-hdpi/menu_dropdown_panel_shadow.9.png differ diff --git a/src/main/res/drawable-hdpi/spinner_ab_pressed_shadow.9.png b/src/main/res/drawable-hdpi/spinner_ab_pressed_shadow.9.png index 39f778c8..dda5bd51 100755 Binary files a/src/main/res/drawable-hdpi/spinner_ab_pressed_shadow.9.png and b/src/main/res/drawable-hdpi/spinner_ab_pressed_shadow.9.png differ diff --git a/src/main/res/drawable-hdpi/tab_selected_pressed_shadow.9.png b/src/main/res/drawable-hdpi/tab_selected_pressed_shadow.9.png index 65688cb1..545e1b76 100755 Binary files a/src/main/res/drawable-hdpi/tab_selected_pressed_shadow.9.png and b/src/main/res/drawable-hdpi/tab_selected_pressed_shadow.9.png differ diff --git a/src/main/res/drawable-hdpi/tab_unselected_pressed_shadow.9.png b/src/main/res/drawable-hdpi/tab_unselected_pressed_shadow.9.png index f44171cc..4f18a95a 100755 Binary files a/src/main/res/drawable-hdpi/tab_unselected_pressed_shadow.9.png and b/src/main/res/drawable-hdpi/tab_unselected_pressed_shadow.9.png differ diff --git a/src/main/res/drawable-mdpi/ab_bottom_solid_shadow.9.png b/src/main/res/drawable-mdpi/ab_bottom_solid_shadow.9.png index 62e58107..370f5fe2 100755 Binary files a/src/main/res/drawable-mdpi/ab_bottom_solid_shadow.9.png and b/src/main/res/drawable-mdpi/ab_bottom_solid_shadow.9.png differ diff --git a/src/main/res/drawable-mdpi/ab_solid_shadow.9.png b/src/main/res/drawable-mdpi/ab_solid_shadow.9.png index e8ee5c48..cd8df3d2 100755 Binary files a/src/main/res/drawable-mdpi/ab_solid_shadow.9.png and b/src/main/res/drawable-mdpi/ab_solid_shadow.9.png differ diff --git a/src/main/res/drawable-mdpi/ab_texture_tile_shadow.png b/src/main/res/drawable-mdpi/ab_texture_tile_shadow.png index 38f04ff9..47838474 100755 Binary files a/src/main/res/drawable-mdpi/ab_texture_tile_shadow.png and b/src/main/res/drawable-mdpi/ab_texture_tile_shadow.png differ diff --git a/src/main/res/drawable-mdpi/btn_cab_done_pressed_shadow.9.png b/src/main/res/drawable-mdpi/btn_cab_done_pressed_shadow.9.png index 15cb5d89..4acbbf62 100755 Binary files a/src/main/res/drawable-mdpi/btn_cab_done_pressed_shadow.9.png and b/src/main/res/drawable-mdpi/btn_cab_done_pressed_shadow.9.png differ diff --git a/src/main/res/drawable-mdpi/list_pressed_shadow.9.png b/src/main/res/drawable-mdpi/list_pressed_shadow.9.png new file mode 100755 index 00000000..a58996d4 Binary files /dev/null and b/src/main/res/drawable-mdpi/list_pressed_shadow.9.png differ diff --git a/src/main/res/drawable-mdpi/menu_dropdown_panel_shadow.9.png b/src/main/res/drawable-mdpi/menu_dropdown_panel_shadow.9.png index 2b2458ef..f1999201 100755 Binary files a/src/main/res/drawable-mdpi/menu_dropdown_panel_shadow.9.png and b/src/main/res/drawable-mdpi/menu_dropdown_panel_shadow.9.png differ diff --git a/src/main/res/drawable-mdpi/spinner_ab_pressed_shadow.9.png b/src/main/res/drawable-mdpi/spinner_ab_pressed_shadow.9.png index 73922383..3580ff27 100755 Binary files a/src/main/res/drawable-mdpi/spinner_ab_pressed_shadow.9.png and b/src/main/res/drawable-mdpi/spinner_ab_pressed_shadow.9.png differ diff --git a/src/main/res/drawable-mdpi/tab_selected_pressed_shadow.9.png b/src/main/res/drawable-mdpi/tab_selected_pressed_shadow.9.png index 1eb92c10..a52c51d2 100755 Binary files a/src/main/res/drawable-mdpi/tab_selected_pressed_shadow.9.png and b/src/main/res/drawable-mdpi/tab_selected_pressed_shadow.9.png differ diff --git a/src/main/res/drawable-mdpi/tab_unselected_pressed_shadow.9.png b/src/main/res/drawable-mdpi/tab_unselected_pressed_shadow.9.png index 2c13a555..4365d178 100755 Binary files a/src/main/res/drawable-mdpi/tab_unselected_pressed_shadow.9.png and b/src/main/res/drawable-mdpi/tab_unselected_pressed_shadow.9.png differ diff --git a/src/main/res/drawable-xhdpi/ab_bottom_solid_shadow.9.png b/src/main/res/drawable-xhdpi/ab_bottom_solid_shadow.9.png index cf9c0d64..fc0b308e 100755 Binary files a/src/main/res/drawable-xhdpi/ab_bottom_solid_shadow.9.png and b/src/main/res/drawable-xhdpi/ab_bottom_solid_shadow.9.png differ diff --git a/src/main/res/drawable-xhdpi/ab_solid_shadow.9.png b/src/main/res/drawable-xhdpi/ab_solid_shadow.9.png index 416e8521..17f16075 100755 Binary files a/src/main/res/drawable-xhdpi/ab_solid_shadow.9.png and b/src/main/res/drawable-xhdpi/ab_solid_shadow.9.png differ diff --git a/src/main/res/drawable-xhdpi/ab_texture_tile_shadow.png b/src/main/res/drawable-xhdpi/ab_texture_tile_shadow.png index 3a16187e..0c1174bc 100755 Binary files a/src/main/res/drawable-xhdpi/ab_texture_tile_shadow.png and b/src/main/res/drawable-xhdpi/ab_texture_tile_shadow.png differ diff --git a/src/main/res/drawable-xhdpi/btn_cab_done_pressed_shadow.9.png b/src/main/res/drawable-xhdpi/btn_cab_done_pressed_shadow.9.png index 33b9d1da..772bde13 100755 Binary files a/src/main/res/drawable-xhdpi/btn_cab_done_pressed_shadow.9.png and b/src/main/res/drawable-xhdpi/btn_cab_done_pressed_shadow.9.png differ diff --git a/src/main/res/drawable-xhdpi/list_pressed_shadow.9.png b/src/main/res/drawable-xhdpi/list_pressed_shadow.9.png new file mode 100755 index 00000000..4f6f689b Binary files /dev/null and b/src/main/res/drawable-xhdpi/list_pressed_shadow.9.png differ diff --git a/src/main/res/drawable-xhdpi/menu_dropdown_panel_shadow.9.png b/src/main/res/drawable-xhdpi/menu_dropdown_panel_shadow.9.png index 2974663c..3a04b510 100755 Binary files a/src/main/res/drawable-xhdpi/menu_dropdown_panel_shadow.9.png and b/src/main/res/drawable-xhdpi/menu_dropdown_panel_shadow.9.png differ diff --git a/src/main/res/drawable-xhdpi/spinner_ab_pressed_shadow.9.png b/src/main/res/drawable-xhdpi/spinner_ab_pressed_shadow.9.png index 870d2bec..cfc8b5e1 100755 Binary files a/src/main/res/drawable-xhdpi/spinner_ab_pressed_shadow.9.png and b/src/main/res/drawable-xhdpi/spinner_ab_pressed_shadow.9.png differ diff --git a/src/main/res/drawable-xhdpi/tab_selected_pressed_shadow.9.png b/src/main/res/drawable-xhdpi/tab_selected_pressed_shadow.9.png index bd51d365..f6d8ee5c 100755 Binary files a/src/main/res/drawable-xhdpi/tab_selected_pressed_shadow.9.png and b/src/main/res/drawable-xhdpi/tab_selected_pressed_shadow.9.png differ diff --git a/src/main/res/drawable-xhdpi/tab_unselected_pressed_shadow.9.png b/src/main/res/drawable-xhdpi/tab_unselected_pressed_shadow.9.png index fd190dbe..a5a2c25e 100755 Binary files a/src/main/res/drawable-xhdpi/tab_unselected_pressed_shadow.9.png and b/src/main/res/drawable-xhdpi/tab_unselected_pressed_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/ab_bottom_solid_shadow.9.png b/src/main/res/drawable-xxhdpi/ab_bottom_solid_shadow.9.png new file mode 100755 index 00000000..d767dd92 Binary files /dev/null and b/src/main/res/drawable-xxhdpi/ab_bottom_solid_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/ab_solid_shadow.9.png b/src/main/res/drawable-xxhdpi/ab_solid_shadow.9.png new file mode 100755 index 00000000..04314abf Binary files /dev/null and b/src/main/res/drawable-xxhdpi/ab_solid_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/ab_stacked_solid_shadow.9.png b/src/main/res/drawable-xxhdpi/ab_stacked_solid_shadow.9.png new file mode 100755 index 00000000..47555f2f Binary files /dev/null and b/src/main/res/drawable-xxhdpi/ab_stacked_solid_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/ab_texture_tile_shadow.png b/src/main/res/drawable-xxhdpi/ab_texture_tile_shadow.png new file mode 100755 index 00000000..5f5299ca Binary files /dev/null and b/src/main/res/drawable-xxhdpi/ab_texture_tile_shadow.png differ diff --git a/src/main/res/drawable-xxhdpi/ab_transparent_shadow.9.png b/src/main/res/drawable-xxhdpi/ab_transparent_shadow.9.png new file mode 100755 index 00000000..0e9ba38d Binary files /dev/null and b/src/main/res/drawable-xxhdpi/ab_transparent_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/btn_cab_done_default_shadow.9.png b/src/main/res/drawable-xxhdpi/btn_cab_done_default_shadow.9.png new file mode 100755 index 00000000..0c0079c7 Binary files /dev/null and b/src/main/res/drawable-xxhdpi/btn_cab_done_default_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/btn_cab_done_focused_shadow.9.png b/src/main/res/drawable-xxhdpi/btn_cab_done_focused_shadow.9.png new file mode 100755 index 00000000..ddf7531b Binary files /dev/null and b/src/main/res/drawable-xxhdpi/btn_cab_done_focused_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/btn_cab_done_pressed_shadow.9.png b/src/main/res/drawable-xxhdpi/btn_cab_done_pressed_shadow.9.png new file mode 100755 index 00000000..2ef2a7be Binary files /dev/null and b/src/main/res/drawable-xxhdpi/btn_cab_done_pressed_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/cab_background_bottom_shadow.9.png b/src/main/res/drawable-xxhdpi/cab_background_bottom_shadow.9.png new file mode 100755 index 00000000..858de47e Binary files /dev/null and b/src/main/res/drawable-xxhdpi/cab_background_bottom_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/cab_background_top_shadow.9.png b/src/main/res/drawable-xxhdpi/cab_background_top_shadow.9.png new file mode 100755 index 00000000..3480efff Binary files /dev/null and b/src/main/res/drawable-xxhdpi/cab_background_top_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/list_focused_shadow.9.png b/src/main/res/drawable-xxhdpi/list_focused_shadow.9.png new file mode 100755 index 00000000..cc17ef5b Binary files /dev/null and b/src/main/res/drawable-xxhdpi/list_focused_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/list_pressed_shadow.9.png b/src/main/res/drawable-xxhdpi/list_pressed_shadow.9.png new file mode 100755 index 00000000..3af5169d Binary files /dev/null and b/src/main/res/drawable-xxhdpi/list_pressed_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/menu_dropdown_panel_shadow.9.png b/src/main/res/drawable-xxhdpi/menu_dropdown_panel_shadow.9.png new file mode 100755 index 00000000..c2ff4a09 Binary files /dev/null and b/src/main/res/drawable-xxhdpi/menu_dropdown_panel_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/progress_bg_shadow.9.png b/src/main/res/drawable-xxhdpi/progress_bg_shadow.9.png new file mode 100755 index 00000000..7c221af9 Binary files /dev/null and b/src/main/res/drawable-xxhdpi/progress_bg_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/progress_primary_shadow.9.png b/src/main/res/drawable-xxhdpi/progress_primary_shadow.9.png new file mode 100755 index 00000000..3a2d7056 Binary files /dev/null and b/src/main/res/drawable-xxhdpi/progress_primary_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/progress_secondary_shadow.9.png b/src/main/res/drawable-xxhdpi/progress_secondary_shadow.9.png new file mode 100755 index 00000000..1a7fb589 Binary files /dev/null and b/src/main/res/drawable-xxhdpi/progress_secondary_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/spinner_ab_default_shadow.9.png b/src/main/res/drawable-xxhdpi/spinner_ab_default_shadow.9.png new file mode 100755 index 00000000..f178f195 Binary files /dev/null and b/src/main/res/drawable-xxhdpi/spinner_ab_default_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/spinner_ab_disabled_shadow.9.png b/src/main/res/drawable-xxhdpi/spinner_ab_disabled_shadow.9.png new file mode 100755 index 00000000..9ec5a1ef Binary files /dev/null and b/src/main/res/drawable-xxhdpi/spinner_ab_disabled_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/spinner_ab_focused_shadow.9.png b/src/main/res/drawable-xxhdpi/spinner_ab_focused_shadow.9.png new file mode 100755 index 00000000..125bbda7 Binary files /dev/null and b/src/main/res/drawable-xxhdpi/spinner_ab_focused_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/spinner_ab_pressed_shadow.9.png b/src/main/res/drawable-xxhdpi/spinner_ab_pressed_shadow.9.png new file mode 100755 index 00000000..5770c069 Binary files /dev/null and b/src/main/res/drawable-xxhdpi/spinner_ab_pressed_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/tab_selected_focused_shadow.9.png b/src/main/res/drawable-xxhdpi/tab_selected_focused_shadow.9.png new file mode 100755 index 00000000..4cc29080 Binary files /dev/null and b/src/main/res/drawable-xxhdpi/tab_selected_focused_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/tab_selected_pressed_shadow.9.png b/src/main/res/drawable-xxhdpi/tab_selected_pressed_shadow.9.png new file mode 100755 index 00000000..539f850d Binary files /dev/null and b/src/main/res/drawable-xxhdpi/tab_selected_pressed_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/tab_selected_shadow.9.png b/src/main/res/drawable-xxhdpi/tab_selected_shadow.9.png new file mode 100755 index 00000000..f9b28d0f Binary files /dev/null and b/src/main/res/drawable-xxhdpi/tab_selected_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/tab_unselected_focused_shadow.9.png b/src/main/res/drawable-xxhdpi/tab_unselected_focused_shadow.9.png new file mode 100755 index 00000000..cf9c97a2 Binary files /dev/null and b/src/main/res/drawable-xxhdpi/tab_unselected_focused_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/tab_unselected_pressed_shadow.9.png b/src/main/res/drawable-xxhdpi/tab_unselected_pressed_shadow.9.png new file mode 100755 index 00000000..8dd01d5c Binary files /dev/null and b/src/main/res/drawable-xxhdpi/tab_unselected_pressed_shadow.9.png differ diff --git a/src/main/res/drawable-xxhdpi/tab_unselected_shadow.9.png b/src/main/res/drawable-xxhdpi/tab_unselected_shadow.9.png new file mode 100755 index 00000000..7b5c16da Binary files /dev/null and b/src/main/res/drawable-xxhdpi/tab_unselected_shadow.9.png differ diff --git a/src/main/res/drawable/pressed_background_shadow.xml b/src/main/res/drawable/pressed_background_shadow.xml deleted file mode 100755 index e660d9ac..00000000 --- a/src/main/res/drawable/pressed_background_shadow.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - diff --git a/src/main/res/drawable/selectable_background_shadow.xml b/src/main/res/drawable/selectable_background_shadow.xml index e0a3f0da..6feb6539 100755 --- a/src/main/res/drawable/selectable_background_shadow.xml +++ b/src/main/res/drawable/selectable_background_shadow.xml @@ -20,6 +20,6 @@ - + \ No newline at end of file diff --git a/src/main/res/layout/layout_apps.xml b/src/main/res/layout/layout_apps.xml index 20871800..99256204 100644 --- a/src/main/res/layout/layout_apps.xml +++ b/src/main/res/layout/layout_apps.xml @@ -21,7 +21,7 @@ android:layout_alignParentLeft="true" android:layout_centerVertical="true"/> - - - - + - - - + + center_vertical + 16dp + @drawable/md__category_background - + true + end + + + + + \ No newline at end of file diff --git a/src/main/scala/com/github/shadowsocks/AppManager.scala b/src/main/scala/com/github/shadowsocks/AppManager.scala index fc8d63ed..775ae827 100644 --- a/src/main/scala/com/github/shadowsocks/AppManager.scala +++ b/src/main/scala/com/github/shadowsocks/AppManager.scala @@ -39,7 +39,7 @@ package com.github.shadowsocks -import android.app.ProgressDialog +import android.app.{Activity, ProgressDialog} import android.content.Context import android.content.SharedPreferences import android.content.pm.PackageManager @@ -53,22 +53,13 @@ import android.view.View.OnClickListener import android.view.ViewGroup import android.view.ViewGroup.LayoutParams import android.view.WindowManager -import android.widget.AbsListView +import android.widget._ import android.widget.AbsListView.OnScrollListener -import android.widget.ArrayAdapter -import android.widget.CheckBox -import android.widget.CompoundButton import android.widget.CompoundButton.OnCheckedChangeListener -import android.widget.ImageView -import android.widget.ListAdapter -import android.widget.ListView -import android.widget.TextView -import com.actionbarsherlock.app.SherlockActivity import com.nostra13.universalimageloader.core.download.BaseImageDownloader import java.io.{ByteArrayOutputStream, ByteArrayInputStream, InputStream} import com.nostra13.universalimageloader.core.{DisplayImageOptions, ImageLoader, ImageLoaderConfiguration} import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer -import org.jraf.android.backport.switchwidget.Switch import com.github.shadowsocks.utils.{Utils, Scheme, Key} case class ProxiedApp(uid: Int, name: String, var proxied: Boolean) @@ -105,7 +96,7 @@ object AppManager { } } -class AppManager extends SherlockActivity with OnCheckedChangeListener with OnClickListener { +class AppManager extends Activity with OnCheckedChangeListener with OnClickListener { val MSG_LOAD_START = 1 val MSG_LOAD_FINISH = 2 @@ -217,7 +208,7 @@ class AppManager extends SherlockActivity with OnCheckedChangeListener with OnCl protected override def onCreate(savedInstanceState: Bundle) { super.onCreate(savedInstanceState) - getSupportActionBar.setTitle(R.string.proxied_help) + getActionBar.setTitle(R.string.proxied_help) this.setContentView(R.layout.layout_apps) this.overlay = View.inflate(this, R.layout.overlay, null).asInstanceOf[TextView] getWindowManager.addView(overlay, new @@ -232,7 +223,7 @@ class AppManager extends SherlockActivity with OnCheckedChangeListener with OnCl .build() ImageLoader.getInstance().init(config) - val bypassSwitch: Switch = findViewById(R.id.bypassSwitch).asInstanceOf[Switch] + val bypassSwitch = findViewById(R.id.bypassSwitch).asInstanceOf[Switch] val prefs: SharedPreferences = PreferenceManager.getDefaultSharedPreferences(getBaseContext) bypassSwitch.setOnCheckedChangeListener(new OnCheckedChangeListener { def onCheckedChanged(button: CompoundButton, checked: Boolean) { diff --git a/src/main/scala/com/github/shadowsocks/Shadowsocks.scala b/src/main/scala/com/github/shadowsocks/Shadowsocks.scala index 7f98b010..c268cecd 100644 --- a/src/main/scala/com/github/shadowsocks/Shadowsocks.scala +++ b/src/main/scala/com/github/shadowsocks/Shadowsocks.scala @@ -225,18 +225,19 @@ class Shadowsocks } } - lazy val settings = PreferenceManager.getDefaultSharedPreferences(this) - lazy val status = getSharedPreferences(Key.status, Context.MODE_PRIVATE) - lazy val preferenceReceiver = new PreferenceBroadcastReceiver - lazy val drawer = MenuDrawer.attach(this) - lazy val menuAdapter = new MenuAdapter(this, getMenuList) - lazy val listView = new ListView(this) - lazy val profileManager = + private lazy val settings = PreferenceManager.getDefaultSharedPreferences(this) + private lazy val status = getSharedPreferences(Key.status, Context.MODE_PRIVATE) + private lazy val preferenceReceiver = new PreferenceBroadcastReceiver + private lazy val drawer = MenuDrawer.attach(this) + private lazy val menuAdapter = new MenuAdapter(this, getMenuList) + private lazy val listView = new ListView(this) + private lazy val profileManager = new ProfileManager(settings, getApplication.asInstanceOf[ShadowsocksApplication].dbHelper) - private lazy val handler = new Handler() private lazy val application = getApplication.asInstanceOf[ShadowsocksApplication] + val handler = new Handler() + def isSinglePane: Boolean = { if (singlePane == -1) { val metrics = new DisplayMetrics() @@ -518,8 +519,8 @@ class Shadowsocks case ignored: RemoteException => // Nothing } bgService = null + unbindService(connection) } - unbindService(connection) } override def onRestoreInstanceState(inState: Bundle) { diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksApplication.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksApplication.scala index f757278c..48cb6f45 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksApplication.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksApplication.scala @@ -39,19 +39,16 @@ package com.github.shadowsocks +import java.util import java.util.concurrent.TimeUnit import android.app.Application import com.github.shadowsocks.database.DBHelper -import com.google.android.gms.analytics.{GoogleAnalytics, Tracker} +import com.github.shadowsocks.utils.Utils +import com.google.android.gms.analytics.GoogleAnalytics import com.google.android.gms.common.api.ResultCallback import com.google.android.gms.tagmanager.Container.FunctionCallMacroCallback -import com.google.android.gms.tagmanager.{ContainerHolder, TagManager, Container} -import com.google.tagmanager.{Container, ContainerOpener, TagManager} -import com.google.tagmanager.ContainerOpener.{Notifier, OpenType} -import com.google.tagmanager.Container.FunctionCallMacroHandler -import java.util -import com.github.shadowsocks.utils.Utils +import com.google.android.gms.tagmanager.{ContainerHolder, TagManager} class ShadowsocksApplication extends Application { lazy val dbHelper = new DBHelper(this) @@ -64,7 +61,7 @@ class ShadowsocksApplication extends Application { val pending = tm.loadContainerPreferNonDefault("GTM-NT8WS8", R.raw.gtm_default_container) val callback = new ResultCallback[ContainerHolder] { override def onResult(holder: ContainerHolder): Unit = { - if (!containerHolder.getStatus.isSuccess) { + if (!holder.getStatus.isSuccess) { return } containerHolder = holder diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksBackupAgent.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksBackupAgent.scala index 062e03c5..5640ef7c 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksBackupAgent.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksBackupAgent.scala @@ -39,8 +39,7 @@ package com.github.shadowsocks -import android.app.backup.{FileBackupHelper, SharedPreferencesBackupHelper, BackupAgentHelper} -import android.content.Context +import android.app.backup.{BackupAgentHelper, FileBackupHelper, SharedPreferencesBackupHelper} import com.github.shadowsocks.database.DBHelper class ShadowsocksBackupAgent extends BackupAgentHelper { diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala index 08d46bc8..ba9e4794 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala @@ -39,30 +39,26 @@ package com.github.shadowsocks -import android.app.Notification -import android.app.NotificationManager -import android.app.PendingIntent -import android.app.Service +import java.io.File +import java.lang.reflect.{InvocationTargetException, Method} +import java.util.{Timer, TimerTask} + +import android.app.{Notification, NotificationManager, PendingIntent, Service} import android.content._ -import android.content.pm.PackageInfo -import android.content.pm.PackageManager +import android.content.pm.{PackageInfo, PackageManager} +import android.graphics.Color +import android.net.TrafficStats import android.os._ import android.support.v4.app.NotificationCompat import android.util.Log -import java.lang.reflect.InvocationTargetException -import java.lang.reflect.Method +import com.github.shadowsocks.aidl.Config +import com.github.shadowsocks.utils._ import com.google.android.gms.analytics.HitBuilders import org.apache.http.conn.util.InetAddressUtils + import scala.collection._ -import java.util.{TimerTask, Timer} -import android.net.TrafficStats -import scala.concurrent.ops._ -import com.github.shadowsocks.utils._ -import scala.Some -import android.graphics.Color -import com.github.shadowsocks.aidl.Config import scala.collection.mutable.ArrayBuffer -import java.io.File +import scala.concurrent.ops._ case class TrafficStat(tx: Long, rx: Long, timestamp: Long) @@ -275,6 +271,7 @@ class ShadowsocksNatService extends Service with BaseService { } def onBind(intent: Intent): IBinder = { + Log.d(TAG, "onBind") if (Action.SERVICE == intent.getAction) { binder } else {