Misc refinements
* Refine Kotlin codes; * Support RTL; * Use VectorDrawable for notification; * Remove redundant resources; * Better IDE integration.
This commit is contained in:
@@ -21,12 +21,13 @@
|
||||
package com.github.shadowsocks.plugin
|
||||
|
||||
import android.content.pm.ResolveInfo
|
||||
import android.os.Bundle
|
||||
|
||||
class NativePlugin(resolveInfo: ResolveInfo) : ResolvedPlugin(resolveInfo) {
|
||||
init {
|
||||
assert(resolveInfo.providerInfo != null)
|
||||
}
|
||||
|
||||
override val metaData get() = resolveInfo.providerInfo.metaData
|
||||
override val packageName get() = resolveInfo.providerInfo.packageName
|
||||
override val metaData: Bundle get() = resolveInfo.providerInfo.metaData
|
||||
override val packageName: String get() = resolveInfo.providerInfo.packageName
|
||||
}
|
||||
|
||||
@@ -36,9 +36,11 @@ class PluginConfiguration(val pluginsOptions: Map<String, PluginOptions>, val se
|
||||
val iterator = Commandline.translateCommandline(line).drop(1).iterator()
|
||||
while (iterator.hasNext()) {
|
||||
val option = iterator.next()
|
||||
if (option == "--nocomp") opt.put("nocomp", null)
|
||||
else if (option.startsWith("--")) opt.put(option.substring(2), iterator.next())
|
||||
else throw IllegalArgumentException("Unknown kcptun parameter: " + option)
|
||||
when {
|
||||
option == "--nocomp" -> opt.put("nocomp", null)
|
||||
option.startsWith("--") -> opt.put(option.substring(2), iterator.next())
|
||||
else -> throw IllegalArgumentException("Unknown kcptun parameter: " + option)
|
||||
}
|
||||
}
|
||||
} catch (exc: Exception) {
|
||||
Log.w("PluginConfiguration", exc.message)
|
||||
@@ -55,6 +57,6 @@ class PluginConfiguration(val pluginsOptions: Map<String, PluginOptions>, val se
|
||||
val result = LinkedList<PluginOptions>()
|
||||
for ((id, opt) in pluginsOptions) if (id == this.selected) result.addFirst(opt) else result.addLast(opt)
|
||||
if (!pluginsOptions.contains(selected)) result.addFirst(selectedOptions)
|
||||
return result.map { it.toString(false) }.joinToString("\n")
|
||||
return result.joinToString("\n") { it.toString(false) }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,10 +28,10 @@ import com.github.shadowsocks.App.Companion.app
|
||||
abstract class ResolvedPlugin(protected val resolveInfo: ResolveInfo) : Plugin() {
|
||||
protected abstract val metaData: Bundle
|
||||
|
||||
override val id by lazy { metaData.getString(PluginContract.METADATA_KEY_ID) }
|
||||
override val label by lazy { resolveInfo.loadLabel(app.packageManager) }
|
||||
override val icon by lazy { resolveInfo.loadIcon(app.packageManager) }
|
||||
override val defaultConfig by lazy { metaData.getString(PluginContract.METADATA_KEY_DEFAULT_CONFIG) }
|
||||
override val packageName get() = resolveInfo.resolvePackageName
|
||||
override val id: String by lazy { metaData.getString(PluginContract.METADATA_KEY_ID) }
|
||||
override val label: CharSequence by lazy { resolveInfo.loadLabel(app.packageManager) }
|
||||
override val icon: Drawable by lazy { resolveInfo.loadIcon(app.packageManager) }
|
||||
override val defaultConfig: String by lazy { metaData.getString(PluginContract.METADATA_KEY_DEFAULT_CONFIG) }
|
||||
override val packageName: String get() = resolveInfo.resolvePackageName
|
||||
override val trusted by lazy { app.info.signatures.any(PluginManager.trustedSignatures::contains) }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user