diff --git a/project/Build.scala b/project/Build.scala index 7994fe6d..c7a80d6e 100644 --- a/project/Build.scala +++ b/project/Build.scala @@ -5,8 +5,8 @@ import org.scalasbt.androidplugin._ import org.scalasbt.androidplugin.AndroidKeys._ object App { - val version = "1.4.5" - val versionCode = 27 + val version = "1.4.6" + val versionCode = 28 } object General { diff --git a/src/main/scala/com/github/shadowsocks/ShadowVpnService.scala b/src/main/scala/com/github/shadowsocks/ShadowVpnService.scala index 5564fef3..3a7485a5 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowVpnService.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowVpnService.scala @@ -393,7 +393,7 @@ class ShadowVpnService extends VpnService { override def onCreate() { super.onCreate() - EasyTracker.getTracker.sendEvent("service", "start", getVersionName, 0L) + EasyTracker.getTracker.sendEvent(TAG, "start", getVersionName, 0L) settings = PreferenceManager.getDefaultSharedPreferences(this) notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) .asInstanceOf[NotificationManager] @@ -412,7 +412,7 @@ class ShadowVpnService extends VpnService { } def destroy() { - EasyTracker.getTracker.sendEvent("service", "stop", getVersionName, 0L) + EasyTracker.getTracker.sendEvent(TAG, "stop", getVersionName, 0L) if (receiver != null) { unregisterReceiver(receiver) receiver = null diff --git a/src/main/scala/com/github/shadowsocks/Shadowsocks.scala b/src/main/scala/com/github/shadowsocks/Shadowsocks.scala index 659d29a7..cca32fc2 100644 --- a/src/main/scala/com/github/shadowsocks/Shadowsocks.scala +++ b/src/main/scala/com/github/shadowsocks/Shadowsocks.scala @@ -66,7 +66,7 @@ import java.util.Hashtable import net.saik0.android.unifiedpreference.UnifiedPreferenceFragment import net.saik0.android.unifiedpreference.UnifiedSherlockPreferenceActivity import org.jraf.android.backport.switchwidget.Switch -import android.content.pm.PackageManager +import android.content.pm.{PackageInfo, PackageManager} import android.net.{Uri, VpnService} import android.webkit.{WebViewClient, WebView} @@ -270,6 +270,19 @@ class Shadowsocks Utils.runRootCommand(sb.toString()) } + private def getVersionName: String = { + var version: String = null + try { + val pi: PackageInfo = getPackageManager.getPackageInfo(getPackageName, 0) + version = pi.versionName + } catch { + case e: PackageManager.NameNotFoundException => { + version = "Package name not found" + } + } + version + } + private def isTextEmpty(s: String, msg: String): Boolean = { if (s == null || s.length <= 0) { showDialog(msg) @@ -380,12 +393,18 @@ class Shadowsocks override def onOptionsItemSelected(item: MenuItem): Boolean = { item.getItemId match { - case 0 => + case 0 => { + EasyTracker.getTracker.sendEvent(Shadowsocks.TAG, "reset", getVersionName, 0L) recovery() - case 1 => + } + case 1 => { + EasyTracker.getTracker.sendEvent(Shadowsocks.TAG, "about", getVersionName, 0L) showAbout() - case 2 => + } + case 2 => { + EasyTracker.getTracker.sendEvent(Shadowsocks.TAG, "donate", getVersionName, 0L) startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(getString(R.string.donate_address)))) + } } super.onOptionsItemSelected(item) } diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksService.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksService.scala index 26fd1733..c2a6f3ec 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksService.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksService.scala @@ -367,7 +367,7 @@ class ShadowsocksService extends Service { override def onCreate() { super.onCreate() - EasyTracker.getTracker.sendEvent("service", "start", getVersionName, 0L) + EasyTracker.getTracker.sendEvent(TAG, "start", getVersionName, 0L) settings = PreferenceManager.getDefaultSharedPreferences(this) notificationManager = this .getSystemService(Context.NOTIFICATION_SERVICE) @@ -406,7 +406,7 @@ class ShadowsocksService extends Service { /** Called when the activity is closed. */ override def onDestroy() { - EasyTracker.getTracker.sendEvent("service", "stop", getVersionName, 0L) + EasyTracker.getTracker.sendEvent(TAG, "stop", getVersionName, 0L) stopForegroundCompat(1) new Thread { override def run() {