From 6522898f4b4f9f9f6b45b4869d3424f7528a17b0 Mon Sep 17 00:00:00 2001 From: Max Lv Date: Mon, 17 Jun 2013 18:33:47 +0800 Subject: [PATCH] fix for tablet --- .../scala/com/github/shadowsocks/Shadowsocks.scala | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/scala/com/github/shadowsocks/Shadowsocks.scala b/src/main/scala/com/github/shadowsocks/Shadowsocks.scala index f68c56d9..4807c841 100644 --- a/src/main/scala/com/github/shadowsocks/Shadowsocks.scala +++ b/src/main/scala/com/github/shadowsocks/Shadowsocks.scala @@ -44,7 +44,7 @@ import android.graphics.Typeface import android.os._ import android.preference.{CheckBoxPreference, Preference, PreferenceManager} import android.util.Log -import android.view.{ViewParent, KeyEvent} +import android.view.{ViewGroup, ViewParent, KeyEvent} import android.widget.{LinearLayout, CompoundButton, RelativeLayout, TextView} import com.actionbarsherlock.view.Menu import com.actionbarsherlock.view.MenuItem @@ -384,17 +384,20 @@ class Shadowsocks 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 _ => getLayoutView(view.getParent) + case _ => if (view != null) getLayoutView(view.getParent) else null } } - getLayoutView(getListView) + getLayoutView(rootView) + } + if (layoutView != null) { + layoutView.addView(adView, 0) + adView.loadAd(new AdRequest) } - layoutView.addView(adView, 0) - adView.loadAd(new AdRequest) } val init: Boolean = !Shadowsocks.isServiceStarted(this)