diff --git a/src/main/res/layout/layout_profiles_item.xml b/src/main/res/layout/layout_profiles_item.xml index 1046d900..88d488f5 100644 --- a/src/main/res/layout/layout_profiles_item.xml +++ b/src/main/res/layout/layout_profiles_item.xml @@ -2,6 +2,7 @@ + diff --git a/src/main/scala/com/github/shadowsocks/GlobalSettingsFragment.scala b/src/main/scala/com/github/shadowsocks/GlobalSettingsFragment.scala index d46c8b68..f6ceb54e 100644 --- a/src/main/scala/com/github/shadowsocks/GlobalSettingsFragment.scala +++ b/src/main/scala/com/github/shadowsocks/GlobalSettingsFragment.scala @@ -4,6 +4,7 @@ import android.os.Bundle import android.view.{LayoutInflater, View, ViewGroup} class GlobalSettingsFragment extends ToolbarFragment { + override def onCreateView(inflater: LayoutInflater, container: ViewGroup, savedInstanceState: Bundle): View = inflater.inflate(R.layout.layout_global_settings, container, false) diff --git a/src/main/scala/com/github/shadowsocks/ProfilesFragment.scala b/src/main/scala/com/github/shadowsocks/ProfilesFragment.scala index c3952412..8585a66e 100644 --- a/src/main/scala/com/github/shadowsocks/ProfilesFragment.scala +++ b/src/main/scala/com/github/shadowsocks/ProfilesFragment.scala @@ -31,11 +31,16 @@ import android.support.v7.widget.helper.ItemTouchHelper import android.support.v7.widget.helper.ItemTouchHelper.SimpleCallback import android.view._ import android.widget.{TextView, Toast} + import com.github.shadowsocks.ShadowsocksApplication.app import com.github.shadowsocks.database.Profile import com.github.shadowsocks.utils._ import com.github.shadowsocks.widget.UndoSnackbarManager +import com.google.android.gms.ads.{AdRequest, AdSize, NativeExpressAdView} +import java.util.GregorianCalendar + +import scala.util.Random import scala.collection.mutable.ArrayBuffer final class ProfilesFragment extends ToolbarFragment with OnMenuItemClickListener { @@ -43,12 +48,16 @@ final class ProfilesFragment extends ToolbarFragment with OnMenuItemClickListene with View.OnClickListener { var item: Profile = _ + private val text1 = itemView.findViewById(R.id.title).asInstanceOf[TextView] private val text2 = itemView.findViewById(R.id.address).asInstanceOf[TextView] private val text3 = itemView.findViewById(R.id.traffic).asInstanceOf[TextView] private val indicator = itemView.findViewById(R.id.indicator).asInstanceOf[ViewGroup] + itemView.setOnClickListener(this) + private var adView: NativeExpressAdView = _ + { val edit = itemView.findViewById(R.id.edit) edit.setOnClickListener(_ => startActivity(new Intent(getActivity, classOf[ProfileConfigActivity]) @@ -79,6 +88,7 @@ final class ProfilesFragment extends ToolbarFragment with OnMenuItemClickListene def bind(item: Profile) { this.item = item updateText() + if (item.id == app.profileId) { // text1.setTypeface(null, Typeface.BOLD) indicator.setBackgroundResource(R.drawable.background_selected) @@ -88,6 +98,31 @@ final class ProfilesFragment extends ToolbarFragment with OnMenuItemClickListene indicator.setBackgroundResource(R.drawable.background_selectable) if (selectedItem eq this) selectedItem = null } + + if (item.host == "198.199.101.152") { + if (adView == null) { + adView = itemView.findViewById(R.id.adView).asInstanceOf[NativeExpressAdView] + + // Demographics + val random = new Random() + val adBuilder = new AdRequest.Builder() + adBuilder.setGender(AdRequest.GENDER_MALE) + val year = 1975 + random.nextInt(40) + val month = 1 + random.nextInt(12) + val day = random.nextInt(28) + adBuilder.setBirthday(new GregorianCalendar(year, month, + day).getTime) + + adView.setVisibility(View.VISIBLE) + + // Load Ad + adView.loadAd(adBuilder.build()) + } else { + adView.setVisibility(View.VISIBLE) + } + } else if (adView != null) { + adView.setVisibility(View.GONE) + } } def onClick(v: View) { @@ -216,6 +251,7 @@ final class ProfilesFragment extends ToolbarFragment with OnMenuItemClickListene val filter = new IntentFilter(Action.PROFILE_CHANGED) filter.addAction(Action.PROFILE_REMOVED) LocalBroadcastManager.getInstance(getActivity).registerReceiver(profilesListener, filter) + } override def onTrafficUpdated(txRate: Long, rxRate: Long, txTotal: Long, rxTotal: Long): Unit =