diff --git a/.gitmodules b/.gitmodules
index 09e1d5f5..771ec4a3 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,6 @@
[submodule "scrambler"]
path = scrambler
url = https://gitlab.com/artectrex/scrambler.git
+[submodule "pixel_common"]
+ path = pixel_common
+ url = git@gitlab.shinice.net:pixeldroid/pixel_common.git
diff --git a/app/build.gradle b/app/build.gradle
index 2a688f3b..8adcf0aa 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -91,8 +91,9 @@ android {
/**
* Make a string with the application_id (available in xml etc)
*/
- android.applicationVariants.all { variant ->
+ android.applicationVariants.configureEach { variant ->
variant.resValue 'string', 'application_id', variant.applicationId
+ variant.resValue "string", "versionName", variant.versionName
}
testOptions {
@@ -210,6 +211,7 @@ dependencies {
implementation 'org.pixeldroid.pixeldroid:android-media-editor:1.4'
implementation project(path: ':scrambler')
+ implementation project(path: ':pixel_common')
implementation('com.github.bumptech.glide:glide:4.14.2') {
exclude group: "com.android.support"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f346adb3..f7cf28d4 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -157,17 +157,6 @@
-
-
-
() {
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): OpenSourceLicenceViewHolder
- {
- val itemBinding = OpenSourceItemBinding.inflate(LayoutInflater.from(parent.context), parent, false)
- return OpenSourceLicenceViewHolder(itemBinding)
- }
-
- override fun onBindViewHolder(holder: OpenSourceLicenceViewHolder, position: Int) {
- val item = openSourceItems.libraries[position]
- holder.bind(item)
- }
-
- override fun getItemCount(): Int = openSourceItems.libraries.size
-
- class OpenSourceLicenceViewHolder(val binding: OpenSourceItemBinding) :
- RecyclerView.ViewHolder(binding.root) {
- @SuppressLint("SetTextI18n")
- fun bind(item: Library) {
- with(binding) {
- if (item.name.isNotEmpty()) {
- title.isVisible = true
- title.text = item.name
- } else {
- title.isVisible = false
- }
- val license = item.licenses.firstOrNull()
- val licenseName = license?.name ?: ""
- val licenseUrl = license?.url?.let { " (${it} )" } ?: ""
- copyright.isVisible = true
- copyright.apply {
- text = "$licenseName$licenseUrl"
- movementMethod = LinkMovementMethod.getInstance()
- }
- url.isVisible = true
- url.apply {
- text = "${item.developers.firstOrNull()?.name ?: ""} ${item.website}"
- movementMethod = LinkMovementMethod.getInstance()
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/org/pixeldroid/app/settings/SettingsActivity.kt b/app/src/main/java/org/pixeldroid/app/settings/SettingsActivity.kt
index af4b331c..62159a11 100644
--- a/app/src/main/java/org/pixeldroid/app/settings/SettingsActivity.kt
+++ b/app/src/main/java/org/pixeldroid/app/settings/SettingsActivity.kt
@@ -17,7 +17,7 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
import org.pixeldroid.app.MainActivity
import org.pixeldroid.app.R
import org.pixeldroid.app.databinding.SettingsBinding
-import org.pixeldroid.app.utils.ThemedActivity
+import org.pixeldroid.common.ThemedActivity
import org.pixeldroid.app.utils.setThemeFromPreferences
diff --git a/app/src/main/java/org/pixeldroid/app/utils/BaseActivity.kt b/app/src/main/java/org/pixeldroid/app/utils/BaseActivity.kt
index 88839c28..cc8bd9db 100644
--- a/app/src/main/java/org/pixeldroid/app/utils/BaseActivity.kt
+++ b/app/src/main/java/org/pixeldroid/app/utils/BaseActivity.kt
@@ -1,12 +1,11 @@
package org.pixeldroid.app.utils
import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
import org.pixeldroid.app.utils.db.AppDatabase
import org.pixeldroid.app.utils.di.PixelfedAPIHolder
import javax.inject.Inject
-open class BaseActivity : ThemedActivity() {
+open class BaseActivity : org.pixeldroid.common.ThemedActivity() {
@Inject
lateinit var db: AppDatabase
diff --git a/app/src/main/java/org/pixeldroid/app/utils/ThemedActivity.kt b/app/src/main/java/org/pixeldroid/app/utils/ThemedActivity.kt
deleted file mode 100644
index 963e9fd2..00000000
--- a/app/src/main/java/org/pixeldroid/app/utils/ThemedActivity.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.pixeldroid.app.utils
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-
-open class ThemedActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- // Set theme when we chose one
- themeNoActionBar()?.let { setTheme(it) }
- super.onCreate(savedInstanceState)
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/org/pixeldroid/app/utils/Utils.kt b/app/src/main/java/org/pixeldroid/app/utils/Utils.kt
index 69090468..14981b0d 100644
--- a/app/src/main/java/org/pixeldroid/app/utils/Utils.kt
+++ b/app/src/main/java/org/pixeldroid/app/utils/Utils.kt
@@ -161,30 +161,6 @@ fun setThemeFromPreferences(preferences: SharedPreferences, resources: Resources
}
}
-@StyleRes
-fun Context.themeNoActionBar(): Int? {
- return when(PreferenceManager.getDefaultSharedPreferences(this).getInt("themeColor", 0)) {
- // No theme was chosen: the user wants to use the system dynamic color (from wallpaper for example)
- -1 -> null
- 1 -> R.style.AppTheme2_NoActionBar
- 2 -> R.style.AppTheme3_NoActionBar
- 3 -> R.style.AppTheme4_NoActionBar
- else -> R.style.AppTheme5_NoActionBar
- }
-}
-
-@StyleRes
-fun Context.themeActionBar(): Int? {
- return when(PreferenceManager.getDefaultSharedPreferences(this).getInt("themeColor", 0)) {
- // No theme was chosen: the user wants to use the system dynamic color (from wallpaper for example)
- -1 -> null
- 1 -> R.style.AppTheme2
- 2 -> R.style.AppTheme3
- 3 -> R.style.AppTheme4
- else -> R.style.AppTheme5
- }
-}
-
@ColorInt
fun Context.getColorFromAttr(@AttrRes attrColor: Int): Int = MaterialColors.getColor(this, attrColor, Color.BLACK)
diff --git a/app/src/main/res/drawable/bug_report_black_24dp.xml b/app/src/main/res/drawable/bug_report_black_24dp.xml
deleted file mode 100644
index 3632a6af..00000000
--- a/app/src/main/res/drawable/bug_report_black_24dp.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
diff --git a/app/src/main/res/drawable/translate_black_24dp.xml b/app/src/main/res/drawable/translate_black_24dp.xml
deleted file mode 100644
index cf62cd35..00000000
--- a/app/src/main/res/drawable/translate_black_24dp.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml
deleted file mode 100644
index a719c030..00000000
--- a/app/src/main/res/layout/activity_about.xml
+++ /dev/null
@@ -1,157 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/open_source_item.xml b/app/src/main/res/layout/open_source_item.xml
deleted file mode 100644
index d082ffc7..00000000
--- a/app/src/main/res/layout/open_source_item.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/open_source_license.xml b/app/src/main/res/layout/open_source_license.xml
deleted file mode 100644
index 76d8b796..00000000
--- a/app/src/main/res/layout/open_source_license.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/xml/root_preferences.xml b/app/src/main/res/xml/root_preferences.xml
index c7df4cde..471c5657 100644
--- a/app/src/main/res/xml/root_preferences.xml
+++ b/app/src/main/res/xml/root_preferences.xml
@@ -1,4 +1,5 @@
+
@@ -48,7 +49,17 @@
android:summary="@string/about_pixeldroid"
app:icon="@drawable/info_black_24dp">
+ android:targetClass="org.pixeldroid.common.AboutActivity">
+
+
+
+
+
+
+
+
+
diff --git a/pixel_common b/pixel_common
new file mode 160000
index 00000000..2c9c19a3
--- /dev/null
+++ b/pixel_common
@@ -0,0 +1 @@
+Subproject commit 2c9c19a3060fed241531f1448eea7dec36411279
diff --git a/settings.gradle b/settings.gradle
index 706f76d9..389084f8 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,4 +1,5 @@
rootProject.name='PixelDroid'
include ':app'
include ':scrambler'
-project(':scrambler').projectDir = new File(rootDir, 'scrambler/scrambler/')
\ No newline at end of file
+project(':scrambler').projectDir = new File(rootDir, 'scrambler/scrambler/')
+include ':pixel_common'