OmniControl: kotlin warning cleanup

Change-Id: I17bb63de8176c331bd2ad02740717ffc12770746
diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
new file mode 100644
index 0000000..0c0c338
--- /dev/null
+++ b/.idea/deploymentTargetDropDown.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="deploymentTargetDropDown">
+    <value>
+      <entry key="app">
+        <State />
+      </entry>
+    </value>
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 3a6d748..9553894 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -4,8 +4,6 @@
   <component name="GradleSettings">
     <option name="linkedExternalProjectsSettings">
       <GradleProjectSettings>
-        <option name="testRunner" value="GRADLE" />
-        <option name="distributionType" value="DEFAULT_WRAPPED" />
         <option name="externalProjectPath" value="$PROJECT_DIR$" />
         <option name="gradleJvm" value="1.8" />
         <option name="modules">
@@ -14,6 +12,7 @@
             <option value="$PROJECT_DIR$/app" />
           </set>
         </option>
+        <option name="resolveExternalAnnotations" value="false" />
       </GradleProjectSettings>
     </option>
   </component>
diff --git a/.idea/migrations.xml b/.idea/migrations.xml
new file mode 100644
index 0000000..f8051a6
--- /dev/null
+++ b/.idea/migrations.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectMigrations">
+    <option name="MigrateToGradleLocalJavaHome">
+      <set>
+        <option value="$PROJECT_DIR$" />
+      </set>
+    </option>
+  </component>
+</project>
\ No newline at end of file
diff --git a/Android.bp b/Android.bp
index 93d2b7d..9f008e0 100644
--- a/Android.bp
+++ b/Android.bp
@@ -32,4 +32,4 @@
   optimize: {
     enabled: false,
   },
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/org/omnirom/control/AppListFragment.kt b/app/src/main/java/org/omnirom/control/AppListFragment.kt
index 117ae6d..34e9674 100644
--- a/app/src/main/java/org/omnirom/control/AppListFragment.kt
+++ b/app/src/main/java/org/omnirom/control/AppListFragment.kt
@@ -135,7 +135,7 @@
     }
 
     override fun onPreferenceTreeClick(preference: Preference): Boolean {
-        if (preference?.key != null) {
+        if (preference.key != null) {
             var app: Application? = appManager.getAppOfPackage(preference.key)
             if (app != null) {
                 if (app.mPackage == "org.omnirom.omnistore") {
diff --git a/app/src/main/java/org/omnirom/control/BarsSettingsFragment.kt b/app/src/main/java/org/omnirom/control/BarsSettingsFragment.kt
index 6333c59..0529322 100644
--- a/app/src/main/java/org/omnirom/control/BarsSettingsFragment.kt
+++ b/app/src/main/java/org/omnirom/control/BarsSettingsFragment.kt
@@ -78,7 +78,7 @@
     }
 
     private fun isTablet(): Boolean {
-        val windowManager: WindowManager = requireContext().getSystemService(WindowManager::class.java)
+        val windowManager: WindowManager = requireContext().getSystemService(WindowManager::class.java)!!
         val bounds: Rect = windowManager.currentWindowMetrics.bounds
         val smallestWidth: Float = dpiFromPx(
             min(bounds.width(), bounds.height()),
diff --git a/app/src/main/java/org/omnirom/control/ColorBrowseActivity.kt b/app/src/main/java/org/omnirom/control/ColorBrowseActivity.kt
index 735976d..adca8bd 100644
--- a/app/src/main/java/org/omnirom/control/ColorBrowseActivity.kt
+++ b/app/src/main/java/org/omnirom/control/ColorBrowseActivity.kt
@@ -14,6 +14,7 @@
 import android.view.ViewOutlineProvider
 import android.widget.GridLayout
 import android.widget.ImageView
+import androidx.annotation.IdRes
 import androidx.appcompat.app.AppCompatActivity
 import androidx.appcompat.widget.Toolbar
 import androidx.core.view.WindowCompat
@@ -63,7 +64,7 @@
         WindowCompat.setDecorFitsSystemWindows(window, true)
 
         setContentView(R.layout.color_browse_activity)
-        val toolbar: Toolbar = findViewById(R.id.toolbar)
+        val toolbar: Toolbar = requireFindViewById(R.id.toolbar)
         setSupportActionBar(toolbar)
         supportActionBar!!.setDisplayHomeAsUpEnabled(true)
 
@@ -75,24 +76,24 @@
 
         val startColor = intent.getIntExtra(DATA_SELECT_COLOR_EXTRA, 0)
 
-        mColorPicker = findViewById(R.id.color_picker_view)
-        mHexColorInput = findViewById(R.id.hex_color_input)
+        mColorPicker = requireFindViewById(R.id.color_picker_view)
+        mHexColorInput = requireFindViewById(R.id.hex_color_input)
         val corner = resources.getDimensionPixelSize(R.dimen.text_field_corner_radius).toFloat()
-        val hexColorInputLayout: TextInputLayout = findViewById(R.id.hex_color_input_layout)
+        val hexColorInputLayout: TextInputLayout = requireFindViewById(R.id.hex_color_input_layout)
         hexColorInputLayout.setBoxCornerRadii(corner, corner, corner, corner)
 
-        mNewColor = findViewById(R.id.color_panel)
+        mNewColor = requireFindViewById(R.id.color_panel)
         mNewColor.outlineProvider = outlineProvider
         mNewColor.clipToOutline = true
 
         mColorPicker.setOnColorChangedListener(this)
         mHexColorInput.addTextChangedListener(this)
-        val colorPresetView: GridLayout = findViewById(R.id.color_preset_view)
+        val colorPresetView: GridLayout = requireFindViewById(R.id.color_preset_view)
 
         for (presetColor in PRESET_COLORS) {
             val colorPresetItem: View = layoutInflater.inflate(R.layout.color_preset_item, null)
-            val colorPresetItemView =
-                colorPresetItem.findViewById<View>(R.id.color_preset_item_view) as ImageView
+            val colorPresetItemView: ImageView =
+                colorPresetItem.findViewById(R.id.color_preset_item_view)!!
             colorPresetItemView.outlineProvider = outlineProvider
             colorPresetItemView.clipToOutline = true
             colorPresetItemView.setImageDrawable(ColorDrawable(presetColor))
@@ -117,7 +118,7 @@
 
         setAlphaSliderVisible(mWithAlpha)
 
-        val selectColorView: MaterialButton = findViewById(R.id.select_color)
+        val selectColorView: MaterialButton = requireFindViewById(R.id.select_color)
         selectColorView.setOnClickListener {
             val intent = Intent()
             intent.putExtra(DATA_SELECT_COLOR_EXTRA, getColor())
@@ -193,4 +194,8 @@
             true
         )
     }
+    private fun  <T> requireFindViewById(id: Int): T {
+        return findViewById(id)!!
+    }
+
 }
diff --git a/app/src/main/java/org/omnirom/control/GridViewFragment.kt b/app/src/main/java/org/omnirom/control/GridViewFragment.kt
index 5d60695..8aea5ed 100644
--- a/app/src/main/java/org/omnirom/control/GridViewFragment.kt
+++ b/app/src/main/java/org/omnirom/control/GridViewFragment.kt
@@ -64,15 +64,13 @@
 
             val gridItem: GridItem = getItem(position)!!
 
-            viewItem.findViewById<TextView>(R.id.grid_item_title).setText(gridItem.gridTitle)
-            viewItem.findViewById<ImageView>(R.id.grid_item_icon)
-                .setImageResource(gridItem.gridIcon)
+            viewItem.findViewById<TextView>(R.id.grid_item_title)!!.setText(gridItem.gridTitle)
+            viewItem.findViewById<ImageView>(R.id.grid_item_icon)!!.setImageResource(gridItem.gridIcon)
             val summary = context.resources.getString(gridItem.gridSummary)
             if (summary.isNotEmpty())
-                viewItem.findViewById<TextView>(R.id.grid_item_summary)
-                    .setText(gridItem.gridSummary)
+                viewItem.findViewById<TextView>(R.id.grid_item_summary)!!.setText(gridItem.gridSummary)
             else
-                viewItem.findViewById<TextView>(R.id.grid_item_summary).visibility = View.GONE
+                viewItem.findViewById<TextView>(R.id.grid_item_summary)!!.visibility = View.GONE
             return viewItem
         }
     }
@@ -331,7 +329,7 @@
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
-        gridView = view.findViewById(R.id.grid_view)
+        gridView = view.findViewById(R.id.grid_view)!!
         gridView.numColumns = resources.getInteger(R.integer.grid_view_columns)
         gridView.adapter = gridItemsAdapter
         gridView.onItemClickListener =
diff --git a/app/src/main/java/org/omnirom/control/OverlaysFragment.kt b/app/src/main/java/org/omnirom/control/OverlaysFragment.kt
index b31934d..a13b44c 100644
--- a/app/src/main/java/org/omnirom/control/OverlaysFragment.kt
+++ b/app/src/main/java/org/omnirom/control/OverlaysFragment.kt
@@ -166,8 +166,8 @@
         private val PATH_SIZE = 100f
 
         inner class IconShapeListItem(view: View) : RecyclerView.ViewHolder(view) {
-            val shapeImage: ImageView = view.findViewById(R.id.icon_shape_icon)
-            val enabledImage: ImageView = view.findViewById(R.id.icon_shape_icon_enabled)
+            val shapeImage: ImageView = view.findViewById(R.id.icon_shape_icon)!!
+            val enabledImage: ImageView = view.findViewById(R.id.icon_shape_icon_enabled)!!
 
         }
 
@@ -242,8 +242,8 @@
         RecyclerView.Adapter<RecyclerView.ViewHolder>() {
 
         inner class ColorsListItem(view: View) : RecyclerView.ViewHolder(view) {
-            val colorList: LinearLayout = view.findViewById(R.id.colors_item_list)
-            val enabledImage: ImageView = view.findViewById(R.id.colors_enabled)
+            val colorList: LinearLayout = view.findViewById(R.id.colors_item_list)!!
+            val enabledImage: ImageView = view.findViewById(R.id.colors_enabled)!!
         }
 
         override fun getItemCount(): Int {
@@ -308,8 +308,8 @@
         RecyclerView.Adapter<RecyclerView.ViewHolder>() {
 
         open inner class AccentColorsListItem(view: View) : RecyclerView.ViewHolder(view) {
-            val colorList: LinearLayout = view.findViewById(R.id.colors_item_list)
-            val enabledImage: ImageView = view.findViewById(R.id.colors_enabled)
+            val colorList: LinearLayout = view.findViewById(R.id.colors_item_list)!!
+            val enabledImage: ImageView = view.findViewById(R.id.colors_enabled)!!
         }
 
         inner class FabricatedAccentColorsListItem(view: View) : AccentColorsListItem(view) {
@@ -666,29 +666,29 @@
             LayoutInflater.from(context).inflate(R.layout.overlays_item, null, false)
         overlayItemList.add(overlayItemView)
 
-        iconShapeListView = overlayItemView.findViewById(R.id.icon_shape_list_view)
+        iconShapeListView = overlayItemView.findViewById(R.id.icon_shape_list_view)!!
         iconShapeListView.layoutManager =
             LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)
         iconShapeListView.adapter = IconShapeListViewAdapter(requireContext(), iconShapeGridItems)
 
-        primaryColorsListView = overlayItemView.findViewById(R.id.primary_color_list_view)
+        primaryColorsListView = overlayItemView.findViewById(R.id.primary_color_list_view)!!
         primaryColorsListView.layoutManager =
             LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)
         primaryColorsListView.adapter =
             PrimaryColorsListViewAdapter(requireContext(), primaryColorsGridItems)
 
-        accentColorsListView = overlayItemView.findViewById(R.id.accent_color_list_view)
+        accentColorsListView = overlayItemView.findViewById(R.id.accent_color_list_view)!!
         accentColorsListView.layoutManager =
             LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)
         accentColorsListView.adapter =
             AccentColorsListViewAdapter(requireContext(), accentColorsGridItems)
 
-        overlayItemListView = view.findViewById(R.id.overlay_item_list)
+        overlayItemListView = view.findViewById(R.id.overlay_item_list)!!
         overlayItemListView.adapter = OverlayItemListViewAdapter(requireContext(), overlayItemList)
         overlayItemListView.layoutManager =
             LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false)
 
-        val monetEnableSwitch: Switch = overlayItemView.findViewById(R.id.monet_overlay_enable);
+        val monetEnableSwitch: Switch = overlayItemView.findViewById(R.id.monet_overlay_enable)!!
         val monetEnabled = overlayProvider.isMonetOverlayEnabled()
         monetEnableSwitch.isChecked = monetEnabled
         enableOverlaySelect(overlayItemView, !monetEnabled)
@@ -844,9 +844,9 @@
     }
 
     private fun enableOverlaySelect(overlayItemView: View, enable: Boolean) {
-        val neutralBlocker =
-            overlayItemView.findViewById<View?>(R.id.primary_color_list_view_blocker)
-        val accentBlocker = overlayItemView.findViewById<View?>(R.id.accent_color_list_view_blocker)
+        val neutralBlocker: View =
+            overlayItemView.findViewById(R.id.primary_color_list_view_blocker)!!
+        val accentBlocker: View = overlayItemView.findViewById(R.id.accent_color_list_view_blocker)!!
         if (enable) {
             neutralBlocker.visibility = View.GONE
             accentBlocker.visibility = View.GONE
diff --git a/app/src/main/java/org/omnirom/control/SettingsActivity.kt b/app/src/main/java/org/omnirom/control/SettingsActivity.kt
index 7405e7d..1addbf5 100644
--- a/app/src/main/java/org/omnirom/control/SettingsActivity.kt
+++ b/app/src/main/java/org/omnirom/control/SettingsActivity.kt
@@ -51,7 +51,7 @@
 
         setContentView(R.layout.settings_activity)
 
-        toolbarPlaceHolder = findViewById(R.id.toolbar_placeholder)
+        toolbarPlaceHolder = requireFindViewById(R.id.toolbar_placeholder)
 
         var fragment: Fragment = GridViewFragment()
         if (savedInstanceState != null) {
@@ -64,7 +64,7 @@
             .replace(R.id.settings, fragment.javaClass, null)
             .commit()
 
-        val toolbar: Toolbar = findViewById(R.id.toolbar)
+        val toolbar: Toolbar = requireFindViewById(R.id.toolbar)
         toolbar.title = ""
         setSupportActionBar(toolbar)
     }
@@ -77,23 +77,23 @@
     }
 
     fun updateFragmentTitle(title: String, summary: String, icon: Int, rootScreen: Boolean) {
-        (findViewById<TextView>(R.id.fragment_title)).text = title
+        (requireFindViewById<TextView>(R.id.fragment_title)).text = title
         if (rootScreen) {
-            (findViewById<TextView>(R.id.fragment_title)).setTextAppearance(R.style.Theme_OmniControl_TitleTextStyle)
+            (requireFindViewById<TextView>(R.id.fragment_title)).setTextAppearance(R.style.Theme_OmniControl_TitleTextStyle)
         } else {
-            (findViewById<TextView>(R.id.fragment_title)).setTextAppearance(R.style.Theme_OmniControl_GridItem_TitleTextStyle)
+            (requireFindViewById<TextView>(R.id.fragment_title)).setTextAppearance(R.style.Theme_OmniControl_GridItem_TitleTextStyle)
         }
         if (summary.isNotEmpty()) {
-            (findViewById<TextView>(R.id.fragment_summary)).visibility = View.VISIBLE
-            (findViewById<TextView>(R.id.fragment_summary)).text = summary
+            (requireFindViewById<TextView>(R.id.fragment_summary)).visibility = View.VISIBLE
+            (requireFindViewById<TextView>(R.id.fragment_summary)).text = summary
         } else {
-            (findViewById<TextView>(R.id.fragment_summary)).visibility = View.GONE
+            (requireFindViewById<TextView>(R.id.fragment_summary)).visibility = View.GONE
         }
         if (icon != 0) {
-            (findViewById<ImageView>(R.id.fragment_icon)).visibility = View.VISIBLE
-            (findViewById<ImageView>(R.id.fragment_icon)).setImageResource(icon)
+            (requireFindViewById<ImageView>(R.id.fragment_icon)).visibility = View.VISIBLE
+            (requireFindViewById<ImageView>(R.id.fragment_icon)).setImageResource(icon)
         } else {
-            (findViewById<ImageView>(R.id.fragment_icon)).visibility = View.GONE
+            (requireFindViewById<ImageView>(R.id.fragment_icon)).visibility = View.GONE
         }
     }
 
@@ -131,4 +131,8 @@
         ta.recycle()
         return color
     }
+    fun  <T> requireFindViewById(id: Int): T {
+        return findViewById(id)!!
+    }
+
 }
\ No newline at end of file
diff --git a/app/src/main/java/org/omnirom/control/search/SearchFragment.kt b/app/src/main/java/org/omnirom/control/search/SearchFragment.kt
index dd2573e..1aac162 100644
--- a/app/src/main/java/org/omnirom/control/search/SearchFragment.kt
+++ b/app/src/main/java/org/omnirom/control/search/SearchFragment.kt
@@ -74,12 +74,12 @@
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
 
-        val resultList: RecyclerView = view.findViewById(R.id.search_result_list)
+        val resultList: RecyclerView = view.findViewById(R.id.search_result_list)!!
         adapter = SearchResultAdapter(listItems, (activity as SettingsActivity))
         resultList.adapter = adapter
         resultList.layoutManager = LinearLayoutManager(context)
 
-        val searchText: EditText = view.findViewById(R.id.search_result_string)
+        val searchText: EditText = view.findViewById(R.id.search_result_string)!!
         searchText.addTextChangedListener(object : TextWatcher {
             override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {}
             override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {
diff --git a/app/src/main/java/org/omnirom/control/search/SearchProvider.kt b/app/src/main/java/org/omnirom/control/search/SearchProvider.kt
index 1ddf97a..09bfbad 100644
--- a/app/src/main/java/org/omnirom/control/search/SearchProvider.kt
+++ b/app/src/main/java/org/omnirom/control/search/SearchProvider.kt
@@ -67,7 +67,7 @@
         searchItemList.add(
             SearchItem(
                 BarsSettingsFragment.XML_RES,
-                BarsSettingsFragment().javaClass.canonicalName,
+                BarsSettingsFragment().javaClass.canonicalName!!,
                 BarsSettingsFragment.ICON_RES,
                 this::isEnabled
             )
@@ -75,7 +75,7 @@
         searchItemList.add(
             SearchItem(
                 MoreSettingsFragment.XML_RES,
-                MoreSettingsFragment().javaClass.canonicalName,
+                MoreSettingsFragment().javaClass.canonicalName!!,
                 MoreSettingsFragment.ICON_RES,
                 this::isEnabled
             )
@@ -83,7 +83,7 @@
         searchItemList.add(
             SearchItem(
                 LockscreenSettingsFragment.XML_RES,
-                LockscreenSettingsFragment().javaClass.canonicalName,
+                LockscreenSettingsFragment().javaClass.canonicalName!!,
                 LockscreenSettingsFragment.ICON_RES,
                 this::isEnabled
             )
@@ -91,7 +91,7 @@
         searchItemList.add(
             SearchItem(
                 QSSettingsFragment.XML_RES,
-                QSSettingsFragment().javaClass.canonicalName,
+                QSSettingsFragment().javaClass.canonicalName!!,
                 QSSettingsFragment.ICON_RES,
                 this::isEnabled
             )
@@ -100,7 +100,7 @@
         searchItemList.add(
             SearchItem(
                 FingerprintSettingsFragment.XML_RES,
-                FingerprintSettingsFragment().javaClass.canonicalName,
+                FingerprintSettingsFragment().javaClass.canonicalName!!,
                 FingerprintSettingsFragment.ICON_RES,
                 FingerprintSettingsFragment::isEnabled
             )
@@ -109,7 +109,7 @@
         searchItemList.add(
             SearchItem(
                 DialerSettingsFragment.XML_RES,
-                DialerSettingsFragment().javaClass.canonicalName,
+                DialerSettingsFragment().javaClass.canonicalName!!,
                 DialerSettingsFragment.ICON_RES,
                 DialerSettingsFragment::isEnabled
             )
@@ -118,7 +118,7 @@
         searchItemList.add(
             SearchItem(
                 ButtonSettingsFragment.XML_RES,
-                ButtonSettingsFragment().javaClass.canonicalName,
+                ButtonSettingsFragment().javaClass.canonicalName!!,
                 ButtonSettingsFragment.ICON_RES,
                 this::isEnabled
             )
@@ -127,7 +127,7 @@
         searchItemList.add(
             SearchItem(
                 BatteryLightSettingsFragment.XML_RES,
-                BatteryLightSettingsFragment().javaClass.canonicalName,
+                BatteryLightSettingsFragment().javaClass.canonicalName!!,
                 BatteryLightSettingsFragment.ICON_RES,
                 BatteryLightSettingsFragment::isEnabled
             )
@@ -136,7 +136,7 @@
         searchItemList.add(
             SearchItem(
                 AppListFragment.XML_RES,
-                AppListFragment().javaClass.canonicalName,
+                AppListFragment().javaClass.canonicalName!!,
                 AppListFragment.ICON_RES,
                 this::isEnabled
             )
diff --git a/app/src/main/java/org/omnirom/control/search/SearchResultAdapter.kt b/app/src/main/java/org/omnirom/control/search/SearchResultAdapter.kt
index bc8fe92..b610bbf 100644
--- a/app/src/main/java/org/omnirom/control/search/SearchResultAdapter.kt
+++ b/app/src/main/java/org/omnirom/control/search/SearchResultAdapter.kt
@@ -69,9 +69,9 @@
 
     class ViewHolder(
         view: View,
-        val imageView: ImageView = view.findViewById(R.id.search_result_icon),
-        val titleText: TextView = view.findViewById(R.id.search_result_title),
-        val summaryText: TextView = view.findViewById(R.id.search_result_summary)
+        val imageView: ImageView = view.findViewById(R.id.search_result_icon)!!,
+        val titleText: TextView = view.findViewById(R.id.search_result_title)!!,
+        val summaryText: TextView = view.findViewById(R.id.search_result_summary)!!
     ) : RecyclerView.ViewHolder(view)
 
 }
\ No newline at end of file