Fix obtaining packageName in NativePlugin

This commit is contained in:
Mygod
2017-01-23 01:40:56 +08:00
parent 128d47aba1
commit cbb0345e5b
3 changed files with 3 additions and 8 deletions
@@ -1,8 +1,6 @@
package com.github.shadowsocks.plugin
import android.content.ContentResolver
import android.content.pm.{PackageManager, ResolveInfo}
import android.net.Uri
import android.os.Bundle
/**
@@ -12,8 +10,5 @@ final class NativePlugin(resolveInfo: ResolveInfo, packageManager: PackageManage
extends ResolvedPlugin(resolveInfo, packageManager) {
assert(resolveInfo.providerInfo != null)
override protected def metaData: Bundle = resolveInfo.providerInfo.metaData
private lazy val uriBuilder: Uri.Builder = new Uri.Builder()
.scheme(ContentResolver.SCHEME_CONTENT)
.authority(resolveInfo.providerInfo.authority)
override def packageName: String = resolveInfo.providerInfo.packageName
}
@@ -18,5 +18,5 @@ abstract class ResolvedPlugin(resolveInfo: ResolveInfo, packageManager: PackageM
override final lazy val label: CharSequence = resolveInfo.loadLabel(packageManager)
override final lazy val icon: Drawable = resolveInfo.loadIcon(packageManager)
override final lazy val defaultConfig: String = metaData.getString(PluginContract.METADATA_KEY_DEFAULT_CONFIG)
override final def packageName: String = resolveInfo.resolvePackageName
override def packageName: String = resolveInfo.resolvePackageName
}
@@ -70,7 +70,7 @@ final class BottomSheetPreferenceDialogFragment extends PreferenceDialogFragment
case null => false
case pn => try {
startActivity(new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, new Uri.Builder()
.authority(Settings.AUTHORITY)
.scheme("package")
.opaquePart(pn)
.build()))
true