in mobile/src/main/java/com/github/shadowsocks/ProfilesFragment.kt [496:545]
override fun onMenuItemClick(item: MenuItem): Boolean {
return when (item.itemId) {
R.id.action_scan_qr_code -> {
startActivity(Intent(context, ScannerActivity::class.java))
true
}
R.id.action_import_clipboard -> {
try {
val profiles = Profile.findAllUrls(
Core.clipboard.primaryClip!!.getItemAt(0).text,
Core.currentProfile?.main
).toList()
if (profiles.isNotEmpty()) {
profiles.forEach { ProfileManager.createProfile(it) }
(activity as MainActivity).snackbar().setText(R.string.action_import_msg).show()
return true
}
} catch (exc: Exception) {
Timber.d(exc)
}
(activity as MainActivity).snackbar().setText(R.string.action_import_err).show()
true
}
R.id.action_import_file -> {
startFilesForResult(importProfiles)
true
}
R.id.action_replace_file -> {
startFilesForResult(replaceProfiles)
true
}
R.id.action_manual_settings -> {
startConfig(ProfileManager.createProfile(
Profile().also { Core.currentProfile?.main?.copyFeatureSettingsTo(it) }))
true
}
R.id.action_export_clipboard -> {
val profiles = ProfileManager.getActiveProfiles()
val success = profiles != null && Core.trySetPrimaryClip(profiles.joinToString("\n"))
(activity as MainActivity).snackbar().setText(
if (success) R.string.action_export_msg else R.string.action_export_err).show()
true
}
R.id.action_export_file -> {
startFilesForResult(exportProfiles)
true
}
else -> false
}
}