OmniControl: move OmniStore into top-level grid
Change-Id: I51b604af6abc087d94de754dbc55fbce4d9acab6
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 526b4c2..a2d7c21 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -13,7 +13,6 @@
<option value="$PROJECT_DIR$/app" />
</set>
</option>
- <option name="resolveModulePerSourceSet" value="false" />
</GradleProjectSettings>
</option>
</component>
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 753add3..95858db 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -36,6 +36,7 @@
<entry key="app/src/main/res/drawable/ic_settings_more.xml" value="0.30885416666666665" />
<entry key="app/src/main/res/drawable/ic_settings_omnigears.xml" value="0.3098958333333333" />
<entry key="app/src/main/res/drawable/ic_settings_overlays.xml" value="0.3078125" />
+ <entry key="app/src/main/res/drawable/ic_store.xml" value="0.3235" />
<entry key="app/src/main/res/drawable/ic_system_update.xml" value="0.2786458333333333" />
<entry key="app/src/main/res/drawable/ic_wallpaper.xml" value="0.3098958333333333" />
<entry key="app/src/main/res/drawable/ic_weather.xml" value="0.5051282051282051" />
diff --git a/app/src/main/java/org/omnirom/control/AppListFragment.kt b/app/src/main/java/org/omnirom/control/AppListFragment.kt
index 76b4e57..57918ed 100644
--- a/app/src/main/java/org/omnirom/control/AppListFragment.kt
+++ b/app/src/main/java/org/omnirom/control/AppListFragment.kt
@@ -82,12 +82,12 @@
resources.getString(R.string.omni_remote_summary)
)*/
- appManager.addApp(
+ /*appManager.addApp(
"org.omnirom.omnistore",
"org.omnirom.omnistore.MainActivity",
resources.getString(R.string.omnistore_title),
resources.getString(R.string.omnistore_summary)
- )
+ )*/
createAppList()
}
diff --git a/app/src/main/java/org/omnirom/control/GridViewFragment.kt b/app/src/main/java/org/omnirom/control/GridViewFragment.kt
index 7e8485f..5ea0eb6 100644
--- a/app/src/main/java/org/omnirom/control/GridViewFragment.kt
+++ b/app/src/main/java/org/omnirom/control/GridViewFragment.kt
@@ -33,6 +33,7 @@
class GridViewFragment() : Fragment() {
private lateinit var gridView: GridView
private val gridItems: ArrayList<GridItem> = ArrayList()
+ private lateinit var gridItemsAdapter: GridViewAdapter
abstract class GridItem(title: Int, summary: Int, icon: Int) {
val gridTitle: Int = title
@@ -74,9 +75,8 @@
}
}
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
-
+ fun createGridItems() {
+ gridItems.clear()
gridItems.add(
FragmentGridItem(
R.string.applist_settings_title,
@@ -235,6 +235,36 @@
)
)
}
+ if (Utils.isAvailableApp(requireContext(), "org.omnirom.omnistore")) {
+ val intent = Intent()
+ intent.component = ComponentName(
+ "org.omnirom.omnistore",
+ "org.omnirom.omnistore.MainActivity"
+ )
+ gridItems.add(
+ IntentGridItem(
+ R.string.omnistore_title,
+ R.string.omnistore_summary,
+ R.drawable.ic_store,
+ intent
+ )
+ )
+ }
+ if (Utils.isAvailableApp(requireContext(), "org.omnirom.omnistoreinstaller") && !Utils.isAvailableApp(requireContext(), "org.omnirom.omnistore")) {
+ val intent = Intent()
+ intent.component = ComponentName(
+ "org.omnirom.omnistoreinstaller",
+ "org.omnirom.omnistoreinstaller.MainActivity"
+ )
+ gridItems.add(
+ IntentGridItem(
+ R.string.omnistore_title,
+ R.string.omnistore_summary,
+ R.drawable.ic_store,
+ intent
+ )
+ )
+ }
gridItems.add(
FragmentGridItem(
R.string.more_settings_title,
@@ -245,6 +275,12 @@
)
}
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+
+ gridItemsAdapter = GridViewAdapter(requireContext(), gridItems)
+ }
+
override fun onResume() {
super.onResume()
(activity as? AppCompatActivity)?.supportActionBar?.setDisplayHomeAsUpEnabled(false)
@@ -253,6 +289,8 @@
"",
R.drawable.ic_settings_grid
)
+ createGridItems()
+ gridItemsAdapter.notifyDataSetChanged()
}
override fun onCreateView(
@@ -267,7 +305,7 @@
super.onViewCreated(view, savedInstanceState)
gridView = view.findViewById(R.id.grid_view)
gridView.numColumns = resources.getInteger(R.integer.grid_view_columns)
- gridView.adapter = GridViewAdapter(requireContext(), gridItems)
+ gridView.adapter = gridItemsAdapter
gridView.onItemClickListener =
AdapterView.OnItemClickListener { _, _, position, _ ->
val gridItem: GridItem = gridItems.get(position)
@@ -281,6 +319,4 @@
requireActivity().startActivity(gridItem.gridIntent)
}
}
-
-
}
diff --git a/app/src/main/res/drawable/ic_store.xml b/app/src/main/res/drawable/ic_store.xml
new file mode 100644
index 0000000..6663d39
--- /dev/null
+++ b/app/src/main/res/drawable/ic_store.xml
@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:tint="?android:textColorPrimary"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M7,18c-1.1,0 -1.99,0.9 -1.99,2S5.9,22 7,22s2,-0.9 2,-2 -0.9,-2 -2,-2zM17,18c-1.1,0 -1.99,0.9 -1.99,2s0.89,2 1.99,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM15.55,13c0.75,0 1.41,-0.41 1.75,-1.03l3.58,-6.49c0.37,-0.66 -0.11,-1.48 -0.87,-1.48L5.21,4l-0.94,-2L1,2v2h2l3.6,7.59 -1.35,2.44C4.52,15.37 5.48,17 7,17h12v-2L7,15l1.1,-2h7.45zM6.16,6h12.15l-2.76,5L8.53,11L6.16,6z" />
+</vector>
diff --git a/build.gradle b/build.gradle
index 70fc287..88e693d 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,7 +5,7 @@
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.2'
+ classpath 'com.android.tools.build:gradle:7.2.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.0-RC"
// NOTE: Do not place your application dependencies here; they belong
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 92e79a1..3429f70 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
#Wed Oct 20 14:49:44 CEST 2021
distributionBase=GRADLE_USER_HOME
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME