From 0acfaa12c058e800c262d4c2d058cdd0ab8a4ab1 Mon Sep 17 00:00:00 2001 From: Mygod Date: Wed, 17 May 2017 01:24:29 +0800 Subject: [PATCH] Use the new findViewById APIs --- .../com/github/shadowsocks/AboutFragment.scala | 2 +- .../com/github/shadowsocks/AppManager.scala | 4 ++-- .../com/github/shadowsocks/MainActivity.scala | 2 +- .../github/shadowsocks/ProfilesFragment.scala | 16 ++++++++-------- .../com/github/shadowsocks/TaskerActivity.scala | 2 +- .../com/github/shadowsocks/ToolbarFragment.scala | 2 +- .../shadowsocks/acl/CustomRulesFragment.scala | 11 +++++------ .../BottomSheetPreferenceDialogFragment.scala | 6 +++--- .../EditTextPreferenceDialogFragment.scala | 2 +- .../preference/PreferenceGroupAdapter.scala | 2 +- 10 files changed, 24 insertions(+), 25 deletions(-) diff --git a/mobile/src/main/scala/com/github/shadowsocks/AboutFragment.scala b/mobile/src/main/scala/com/github/shadowsocks/AboutFragment.scala index bed140d3..785a2110 100644 --- a/mobile/src/main/scala/com/github/shadowsocks/AboutFragment.scala +++ b/mobile/src/main/scala/com/github/shadowsocks/AboutFragment.scala @@ -34,7 +34,7 @@ class AboutFragment extends ToolbarFragment { override def onViewCreated(view: View, savedInstanceState: Bundle) { super.onViewCreated(view, savedInstanceState) toolbar.setTitle(getString(R.string.about_title).formatLocal(Locale.ENGLISH, BuildConfig.VERSION_NAME)) - val web = view.findViewById(R.id.web_view).asInstanceOf[WebView] + val web = view.findViewById[WebView](R.id.web_view) web.loadUrl("file:///android_asset/pages/about.html") web.setWebViewClient(new WebViewClient() { override def shouldOverrideUrlLoading(view: WebView, url: String): Boolean = { diff --git a/mobile/src/main/scala/com/github/shadowsocks/AppManager.scala b/mobile/src/main/scala/com/github/shadowsocks/AppManager.scala index ceffb9d3..67e799d6 100644 --- a/mobile/src/main/scala/com/github/shadowsocks/AppManager.scala +++ b/mobile/src/main/scala/com/github/shadowsocks/AppManager.scala @@ -70,8 +70,8 @@ class AppManager extends AppCompatActivity with OnMenuItemClickListener { import AppManager._ private final class AppViewHolder(val view: View) extends RecyclerView.ViewHolder(view) with View.OnClickListener { - private val icon = itemView.findViewById(R.id.itemicon).asInstanceOf[ImageView] - private val check = itemView.findViewById(R.id.itemcheck).asInstanceOf[Switch] + private val icon = itemView.findViewById[ImageView](R.id.itemicon) + private val check = itemView.findViewById[Switch](R.id.itemcheck) private var item: ProxiedApp = _ itemView.setOnClickListener(this) diff --git a/mobile/src/main/scala/com/github/shadowsocks/MainActivity.scala b/mobile/src/main/scala/com/github/shadowsocks/MainActivity.scala index 61211364..3374eda8 100644 --- a/mobile/src/main/scala/com/github/shadowsocks/MainActivity.scala +++ b/mobile/src/main/scala/com/github/shadowsocks/MainActivity.scala @@ -246,7 +246,7 @@ class MainActivity extends Activity with ServiceBoundContext with Drawer.OnDrawe } else drawer = drawerBuilder.build() val header = drawer.getHeader - val title = header.findViewById(R.id.drawer_title).asInstanceOf[TextView] + val title = header.findViewById[TextView](R.id.drawer_title) val tf = Typefaces.get(this, "fonts/Iceland.ttf") if (tf != null) title.setTypeface(tf) diff --git a/mobile/src/main/scala/com/github/shadowsocks/ProfilesFragment.scala b/mobile/src/main/scala/com/github/shadowsocks/ProfilesFragment.scala index 81fc22cf..b2a85834 100644 --- a/mobile/src/main/scala/com/github/shadowsocks/ProfilesFragment.scala +++ b/mobile/src/main/scala/com/github/shadowsocks/ProfilesFragment.scala @@ -78,20 +78,20 @@ final class ProfilesFragment extends ToolbarFragment with Toolbar.OnMenuItemClic var item: Profile = _ - private val text1 = itemView.findViewById(android.R.id.text1).asInstanceOf[TextView] - private val text2 = itemView.findViewById(android.R.id.text2).asInstanceOf[TextView] - private val traffic = itemView.findViewById(R.id.traffic).asInstanceOf[TextView] - private val edit = itemView.findViewById(R.id.edit) + private val text1 = itemView.findViewById[TextView](android.R.id.text1) + private val text2 = itemView.findViewById[TextView](android.R.id.text2) + private val traffic = itemView.findViewById[TextView](R.id.traffic) + private val edit = itemView.findViewById[View](R.id.edit) edit.setOnClickListener(_ => startConfig(item.id)) edit.setOnLongClickListener(cardButtonLongClickListener) itemView.setOnClickListener(this) // it will not take effect unless set in code - itemView.findViewById(R.id.indicator).setBackgroundResource(R.drawable.background_profile) + itemView.findViewById[View](R.id.indicator).setBackgroundResource(R.drawable.background_profile) private var adView: NativeExpressAdView = _ { - val share = itemView.findViewById(R.id.share) + val share = itemView.findViewById[View](R.id.share) share.setOnClickListener(_ => { val popup = new PopupMenu(getActivity, share) popup.getMenuInflater.inflate(R.menu.profile_share_popup, popup.getMenu) @@ -147,7 +147,7 @@ final class ProfilesFragment extends ToolbarFragment with Toolbar.OnMenuItemClic adView.setLayoutParams(params) adView.setAdUnitId("ca-app-pub-9097031975646651/5224027521") adView.setAdSize(new AdSize(328, 132)) - itemView.findViewById(R.id.content).asInstanceOf[LinearLayout].addView(adView) + itemView.findViewById[LinearLayout](R.id.content).addView(adView) // Demographics val random = new Random() @@ -279,7 +279,7 @@ final class ProfilesFragment extends ToolbarFragment with Toolbar.OnMenuItemClic toolbar.setOnMenuItemClickListener(this) if (app.profileManager.getFirstProfile.isEmpty) app.profileId(app.profileManager.createProfile().id) - val profilesList = view.findViewById(R.id.list).asInstanceOf[RecyclerView] + val profilesList = view.findViewById[RecyclerView](R.id.list) val layoutManager = new LinearLayoutManager(getActivity, LinearLayoutManager.VERTICAL, false) profilesList.setLayoutManager(layoutManager) layoutManager.scrollToPosition(profilesAdapter.profiles.zipWithIndex.collectFirst { diff --git a/mobile/src/main/scala/com/github/shadowsocks/TaskerActivity.scala b/mobile/src/main/scala/com/github/shadowsocks/TaskerActivity.scala index 36f405ae..944b27e9 100644 --- a/mobile/src/main/scala/com/github/shadowsocks/TaskerActivity.scala +++ b/mobile/src/main/scala/com/github/shadowsocks/TaskerActivity.scala @@ -42,7 +42,7 @@ class TaskerActivity extends AppCompatActivity { typedArray.recycle() } private var item: Profile = _ - private val text = itemView.findViewById(android.R.id.text1).asInstanceOf[CheckedTextView] + private val text = itemView.findViewById[CheckedTextView](android.R.id.text1) itemView.setOnClickListener(this) def bindDefault() { diff --git a/mobile/src/main/scala/com/github/shadowsocks/ToolbarFragment.scala b/mobile/src/main/scala/com/github/shadowsocks/ToolbarFragment.scala index e21a6b80..e55d5eb7 100644 --- a/mobile/src/main/scala/com/github/shadowsocks/ToolbarFragment.scala +++ b/mobile/src/main/scala/com/github/shadowsocks/ToolbarFragment.scala @@ -30,7 +30,7 @@ class ToolbarFragment extends Fragment { override def onViewCreated(view: View, savedInstanceState: Bundle) { super.onViewCreated(view, savedInstanceState) - toolbar = view.findViewById(R.id.toolbar).asInstanceOf[Toolbar] + toolbar = view.findViewById[Toolbar](R.id.toolbar) val activity = getActivity.asInstanceOf[MainActivity] if (activity.crossfader == null) activity.drawer.setToolbar(activity, toolbar, true) } diff --git a/mobile/src/main/scala/com/github/shadowsocks/acl/CustomRulesFragment.scala b/mobile/src/main/scala/com/github/shadowsocks/acl/CustomRulesFragment.scala index 0bf6a523..74a6fdc4 100644 --- a/mobile/src/main/scala/com/github/shadowsocks/acl/CustomRulesFragment.scala +++ b/mobile/src/main/scala/com/github/shadowsocks/acl/CustomRulesFragment.scala @@ -46,8 +46,8 @@ class CustomRulesFragment extends ToolbarFragment with Toolbar.OnMenuItemClickLi private def createAclRuleDialog(text: CharSequence = "") = { val view = getActivity.getLayoutInflater.inflate(R.layout.dialog_acl_rule, null) - val templateSelector = view.findViewById(R.id.template_selector).asInstanceOf[Spinner] - val editText = view.findViewById(R.id.content).asInstanceOf[EditText] + val templateSelector = view.findViewById[Spinner](R.id.template_selector) + val editText = view.findViewById[EditText](R.id.content) PATTERN_DOMAIN.findFirstMatchIn(text) match { case Some(m) => templateSelector.setSelection(DOMAIN) @@ -70,7 +70,7 @@ class CustomRulesFragment extends ToolbarFragment with Toolbar.OnMenuItemClickLi private final class AclRuleViewHolder(view: View) extends RecyclerView.ViewHolder(view) with View.OnClickListener with View.OnLongClickListener { var item: AnyRef = _ - private val text = itemView.findViewById(android.R.id.text1).asInstanceOf[TextView] + private val text = itemView.findViewById[TextView](android.R.id.text1) itemView.setOnClickListener(this) itemView.setOnLongClickListener(this) itemView.setBackgroundResource(R.drawable.background_selectable) @@ -252,12 +252,11 @@ class CustomRulesFragment extends ToolbarFragment with Toolbar.OnMenuItemClickLi toolbar.setOnMenuItemClickListener(this) selectionItem = toolbar.getMenu.findItem(R.id.selection) selectionItem.setVisible(selectedItems.nonEmpty) - list = view.findViewById(R.id.list).asInstanceOf[RecyclerView] + list = view.findViewById(R.id.list) list.setLayoutManager(new LinearLayoutManager(getActivity, LinearLayoutManager.VERTICAL, false)) list.setItemAnimator(new DefaultItemAnimator) list.setAdapter(adapter) - val fastScroller = view.findViewById(R.id.fastscroller).asInstanceOf[FastScroller] - fastScroller.setRecyclerView(list) + view.findViewById[FastScroller](R.id.fastscroller).setRecyclerView(list) undoManager = new UndoSnackbarManager[AnyRef](getActivity.findViewById(R.id.snackbar), adapter.undo) new ItemTouchHelper(new SimpleCallback(0, ItemTouchHelper.START | ItemTouchHelper.END) { override def getSwipeDirs(recyclerView: RecyclerView, viewHolder: ViewHolder): Int = diff --git a/mobile/src/main/scala/com/github/shadowsocks/preference/BottomSheetPreferenceDialogFragment.scala b/mobile/src/main/scala/com/github/shadowsocks/preference/BottomSheetPreferenceDialogFragment.scala index 1cb28118..11521105 100644 --- a/mobile/src/main/scala/com/github/shadowsocks/preference/BottomSheetPreferenceDialogFragment.scala +++ b/mobile/src/main/scala/com/github/shadowsocks/preference/BottomSheetPreferenceDialogFragment.scala @@ -46,9 +46,9 @@ final class BottomSheetPreferenceDialogFragment extends PreferenceDialogFragment private final class IconListViewHolder(val dialog: BottomSheetDialog, view: View) extends ViewHolder(view) with View.OnClickListener with View.OnLongClickListener { private var index: Int = _ - private val text1 = view.findViewById(android.R.id.text1).asInstanceOf[TextView] - private val text2 = view.findViewById(android.R.id.text2).asInstanceOf[TextView] - private val icon = view.findViewById(android.R.id.icon).asInstanceOf[ImageView] + private val text1 = view.findViewById[TextView](android.R.id.text1) + private val text2 = view.findViewById[TextView](android.R.id.text2) + private val icon = view.findViewById[ImageView](android.R.id.icon) view.setOnClickListener(this) view.setOnLongClickListener(this) diff --git a/plugin/src/main/scala/be/mygod/preference/EditTextPreferenceDialogFragment.scala b/plugin/src/main/scala/be/mygod/preference/EditTextPreferenceDialogFragment.scala index dadf7893..e8ed19e4 100644 --- a/plugin/src/main/scala/be/mygod/preference/EditTextPreferenceDialogFragment.scala +++ b/plugin/src/main/scala/be/mygod/preference/EditTextPreferenceDialogFragment.scala @@ -36,7 +36,7 @@ class EditTextPreferenceDialogFragment extends PreferenceDialogFragment { val oldParent = editText.getParent.asInstanceOf[ViewGroup] if (oldParent eq view) return if (oldParent != null) oldParent.removeView(editText) - val oldEdit = view.findViewById(android.R.id.edit) + val oldEdit = view.findViewById[View](android.R.id.edit) if (oldEdit == null) return val container = oldEdit.getParent.asInstanceOf[ViewGroup] if (container == null) return diff --git a/plugin/src/main/scala/be/mygod/preference/PreferenceGroupAdapter.scala b/plugin/src/main/scala/be/mygod/preference/PreferenceGroupAdapter.scala index 8819ca37..8df8b6ef 100644 --- a/plugin/src/main/scala/be/mygod/preference/PreferenceGroupAdapter.scala +++ b/plugin/src/main/scala/be/mygod/preference/PreferenceGroupAdapter.scala @@ -77,7 +77,7 @@ class PreferenceGroupAdapter(group: PreferenceGroup) extends Old(group) { view.setBackground(background) ViewCompat.setPaddingRelative(view, s, t, e, b) } - val widgetFrame = view.findViewById(android.R.id.widget_frame).asInstanceOf[ViewGroup] + val widgetFrame = view.findViewById[ViewGroup](android.R.id.widget_frame) if (widgetFrame != null) { val widgetResId = fieldWidgetResId.get(pl).asInstanceOf[Int] if (widgetResId != 0) inflater.inflate(widgetResId, widgetFrame) else widgetFrame.setVisibility(View.GONE)