diff --git a/build.sbt b/build.sbt index fdc9d4d3..f4669e8e 100644 --- a/build.sbt +++ b/build.sbt @@ -43,9 +43,6 @@ libraryDependencies ++= "com.google.android.gms" % "play-services-gcm" % "10.0.1" :: "com.j256.ormlite" % "ormlite-android" % "5.0" :: "com.mikepenz" % "materialdrawer" % "5.8.1" :: - "com.mikepenz" % "materialize" % "1.0.0" :: - "com.mikepenz" % "iconics-core" % "2.8.0" :: - "com.mikepenz" % "fastadapter" % "2.1.0" :: "com.twofortyfouram" % "android-plugin-api-for-locale" % "1.0.2" :: "dnsjava" % "dnsjava" % "2.1.7" :: "eu.chainfire" % "libsuperuser" % "1.0.0.201608240809" :: diff --git a/src/main/scala/com/github/shadowsocks/MainActivity.scala b/src/main/scala/com/github/shadowsocks/MainActivity.scala index 6cf843bb..0162dc84 100644 --- a/src/main/scala/com/github/shadowsocks/MainActivity.scala +++ b/src/main/scala/com/github/shadowsocks/MainActivity.scala @@ -51,10 +51,6 @@ import com.mikepenz.materialdrawer.model.interfaces.IDrawerItem import com.mikepenz.materialdrawer.model.{PrimaryDrawerItem, SecondaryDrawerItem} import com.mikepenz.materialdrawer.{Drawer, DrawerBuilder} -trait TrafficCallback { - def update(txRate: Long, rxRate: Long, txTotal: Long, rxTotal: Long) -} - object MainActivity { private final val TAG = "ShadowsocksMainActivity" private final val REQUEST_CONNECT = 1 @@ -77,8 +73,6 @@ class MainActivity extends Activity with ServiceBoundContext with Drawer.OnDrawe var currentProfile = new Profile var drawer: Drawer = _ - @volatile var trafficCallback: TrafficCallback = _ - private lazy val profilesFragment = new ProfilesFragment() private lazy val globalSettingsFragment = new GlobalSettingsFragment() @@ -140,7 +134,8 @@ class MainActivity extends Activity with ServiceBoundContext with Drawer.OnDrawe rxText.setText(TrafficMonitor.formatTraffic(rxTotal)) txRateText.setText(TrafficMonitor.formatTraffic(txRate) + "/s") rxRateText.setText(TrafficMonitor.formatTraffic(rxRate) + "/s") - if (trafficCallback != null) trafficCallback.update(txRate, rxRate, txTotal, rxTotal) + val child = getFragmentManager.findFragmentById(R.id.content).asInstanceOf[ToolbarFragment] + if (child != null) child.onTrafficUpdated(txRate, rxRate, txTotal, rxTotal) } def attachServiceCallback(): Unit = attachService(callback) diff --git a/src/main/scala/com/github/shadowsocks/ProfilesFragment.scala b/src/main/scala/com/github/shadowsocks/ProfilesFragment.scala index 94b99ceb..1c2440e0 100644 --- a/src/main/scala/com/github/shadowsocks/ProfilesFragment.scala +++ b/src/main/scala/com/github/shadowsocks/ProfilesFragment.scala @@ -20,7 +20,6 @@ package com.github.shadowsocks -import android.app.Activity import android.content._ import android.graphics.Typeface import android.os.{Build, Bundle, Handler, UserManager} @@ -33,7 +32,6 @@ 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.aidl.IShadowsocksServiceCallback import com.github.shadowsocks.database.Profile import com.github.shadowsocks.utils.{Action, Parser, TrafficMonitor, Utils} import com.github.shadowsocks.widget.UndoSnackbarManager @@ -214,24 +212,10 @@ final class ProfilesFragment extends ToolbarFragment with OnMenuItemClickListene LocalBroadcastManager.getInstance(getActivity).registerReceiver(profilesListener, filter) } - override def onAttach(activity: Activity) { - super.onAttach(activity) - activity.asInstanceOf[MainActivity].trafficCallback = new TrafficCallback { - def update(txRate: Long, rxRate: Long, txTotal: Long, rxTotal: Long): Unit = - if (selectedItem != null) selectedItem.updateText(txTotal, rxTotal) - } - } - - override def onStart() { - super.onStart() - } - - override def onStop() { - super.onStop() - } + override def onTrafficUpdated(txRate: Long, rxRate: Long, txTotal: Long, rxTotal: Long): Unit = + if (selectedItem != null) selectedItem.updateText(txTotal, rxTotal) override def onDetach() { - getActivity.asInstanceOf[MainActivity].trafficCallback = null undoManager.flush() super.onDetach() } diff --git a/src/main/scala/com/github/shadowsocks/ToolbarFragment.scala b/src/main/scala/com/github/shadowsocks/ToolbarFragment.scala index 8cc554ea..7a80e0cb 100644 --- a/src/main/scala/com/github/shadowsocks/ToolbarFragment.scala +++ b/src/main/scala/com/github/shadowsocks/ToolbarFragment.scala @@ -14,4 +14,6 @@ class ToolbarFragment extends Fragment { val activity = getActivity.asInstanceOf[MainActivity] activity.drawer.setToolbar(activity, toolbar, true) } + + def onTrafficUpdated(txRate: Long, rxRate: Long, txTotal: Long, rxTotal: Long): Unit = () }