From 4f0e95f72d776895c2841bed1f1c58572c3196a6 Mon Sep 17 00:00:00 2001 From: Max Lv Date: Wed, 21 Aug 2013 12:55:34 +0800 Subject: [PATCH] fix an UI issue --- project/Build.scala | 4 +-- .../com/github/shadowsocks/Shadowsocks.scala | 36 ++++++++++--------- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/project/Build.scala b/project/Build.scala index 7e94f205..3f8e4730 100644 --- a/project/Build.scala +++ b/project/Build.scala @@ -5,8 +5,8 @@ import sbtandroid._ import sbtandroid.AndroidKeys._ object App { - val version = "1.8.1" - val versionCode = 46 + val version = "1.8.2" + val versionCode = 47 } object General { diff --git a/src/main/scala/com/github/shadowsocks/Shadowsocks.scala b/src/main/scala/com/github/shadowsocks/Shadowsocks.scala index 766dbe48..046751e7 100644 --- a/src/main/scala/com/github/shadowsocks/Shadowsocks.scala +++ b/src/main/scala/com/github/shadowsocks/Shadowsocks.scala @@ -359,6 +359,24 @@ class Shadowsocks } } + def getLayoutView(view: ViewParent): LinearLayout = { + view match { + case layout: LinearLayout => layout + case _ => if (view != null) getLayoutView(view.getParent) else null + } + } + + def initAdView() { + if (settings.getString(Key.proxy, "") == "198.199.101.152") { + val adView = new AdView(this, AdSize.BANNER, "a151becb8068b09") + val layoutView = getLayoutView(getListview.asInstanceOf[ViewParent]) + if (layoutView != null) { + layoutView.addView(adView, 0) + adView.loadAd(new AdRequest) + } + } + } + /** Called when the activity is first created. */ override def onCreate(savedInstanceState: Bundle) { setHeaderRes(R.xml.shadowsocks_headers) @@ -383,23 +401,7 @@ class Shadowsocks receiver = new StateBroadcastReceiver() registerReceiver(receiver, new IntentFilter(Action.UPDATE_STATE)) - if (settings.getString(Key.proxy, "") == "198.199.101.152") { - val adView = new AdView(this, AdSize.SMART_BANNER, "a151becb8068b09") - val rootView = findViewById(android.R.id.content).asInstanceOf[ViewParent] - val layoutView = { - def getLayoutView(view: ViewParent): LinearLayout = { - view match { - case layout: LinearLayout => layout - case _ => if (view != null) getLayoutView(view.getParent) else null - } - } - getLayoutView(rootView) - } - if (layoutView != null) { - layoutView.addView(adView, 0) - adView.loadAd(new AdRequest) - } - } + initAdView() val init: Boolean = !Shadowsocks.isServiceStarted(this) if (init) {