diff --git a/app/build.gradle b/app/build.gradle index fe5321cc5..fad3baa06 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,12 +8,10 @@ rootProject.file('local.properties').withInputStream { } android { - namespace 'com.fongmi.android.tv' + namespace = 'com.fongmi.android.tv' compileSdk { - version = release(37) { - it.minorApiLevel = 1 - } + version = release(37) } defaultConfig { @@ -50,8 +48,8 @@ android { } buildFeatures { - buildConfig true - viewBinding true + buildConfig = true + viewBinding = true } signingConfigs { @@ -65,9 +63,9 @@ android { buildTypes { release { - minifyEnabled true - shrinkResources true - signingConfig signingConfigs.release + minifyEnabled = true + shrinkResources = true + signingConfig = signingConfigs.release proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro', 'proguard-rules-media.pro' } } @@ -79,13 +77,8 @@ android { } } - android.applicationVariants.configureEach { variant -> - variant.outputs.configureEach { output -> - outputFileName = "${variant.productFlavors[0].name}-${variant.productFlavors[1].name}.apk" - } - } - configurations.configureEach { + exclude group: 'com.android.support' resolutionStrategy { force 'com.squareup.okhttp3:okhttp:' + okhttpVersion } @@ -96,12 +89,23 @@ android { } compileOptions { - coreLibraryDesugaringEnabled true + coreLibraryDesugaringEnabled = true sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } } +androidComponents { + onVariants(selector().withBuildType('release')) { variant -> + def flavors = variant.productFlavors.collectEntries { [(it.first): it.second] } + def mode = flavors['mode'] ?: 'mode' + def abi = flavors['abi'] ?: 'abi' + variant.outputs.each { output -> + output.outputFileName.set("${mode}-${abi}.apk") + } + } +} + dependencies { implementation fileTree(dir: "libs", include: ["*.aar"]) implementation project(':catvod') diff --git a/app/src/leanback/java/com/fongmi/android/tv/bean/Func.java b/app/src/leanback/java/com/fongmi/android/tv/bean/Func.java index e859113fc..8ead3fbea 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/bean/Func.java +++ b/app/src/leanback/java/com/fongmi/android/tv/bean/Func.java @@ -1,7 +1,5 @@ package com.fongmi.android.tv.bean; -import android.annotation.SuppressLint; - import androidx.annotation.Nullable; import com.fongmi.android.tv.R; @@ -34,28 +32,13 @@ public class Func implements Diffable { return ResUtil.getString(resId); } - @SuppressLint("NonConstantResourceId") public void setDrawable() { - switch (resId) { - case R.string.home_vod: - this.drawable = R.drawable.ic_home_vod; - break; - case R.string.home_live: - this.drawable = R.drawable.ic_home_live; - break; - case R.string.home_keep: - this.drawable = R.drawable.ic_home_keep; - break; - case R.string.home_push: - this.drawable = R.drawable.ic_home_push; - break; - case R.string.home_search: - this.drawable = R.drawable.ic_home_search; - break; - case R.string.home_setting: - this.drawable = R.drawable.ic_home_setting; - break; - } + if (resId == R.string.home_vod) this.drawable = R.drawable.ic_home_vod; + else if (resId == R.string.home_live) this.drawable = R.drawable.ic_home_live; + else if (resId == R.string.home_keep) this.drawable = R.drawable.ic_home_keep; + else if (resId == R.string.home_push) this.drawable = R.drawable.ic_home_push; + else if (resId == R.string.home_search) this.drawable = R.drawable.ic_home_search; + else if (resId == R.string.home_setting) this.drawable = R.drawable.ic_home_setting; } @Override diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java index cd94c361f..b99fc3018 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java @@ -385,26 +385,12 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen @Override public void onItemClick(Func item) { - switch (item.getResId()) { - case R.string.home_vod: - VodActivity.start(this, mResult); - break; - case R.string.home_live: - LiveActivity.start(this); - break; - case R.string.home_search: - SearchActivity.start(this); - break; - case R.string.home_keep: - KeepActivity.start(this); - break; - case R.string.home_push: - PushActivity.start(this); - break; - case R.string.home_setting: - SettingActivity.start(this); - break; - } + if (item.getResId() == R.string.home_vod) VodActivity.start(this, mResult); + else if (item.getResId() == R.string.home_live) LiveActivity.start(this); + else if (item.getResId() == R.string.home_keep) KeepActivity.start(this); + else if (item.getResId() == R.string.home_push) PushActivity.start(this); + else if (item.getResId() == R.string.home_search) SearchActivity.start(this); + else if (item.getResId() == R.string.home_setting) SettingActivity.start(this); } @Override diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyboard.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyboard.java index 81089e9a9..b1205f890 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyboard.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyboard.java @@ -1,7 +1,5 @@ package com.fongmi.android.tv.ui.custom; -import android.annotation.SuppressLint; - import com.fongmi.android.tv.R; import com.fongmi.android.tv.databinding.ActivitySearchBinding; import com.fongmi.android.tv.ui.adapter.KeyboardAdapter; @@ -39,36 +37,31 @@ public class CustomKeyboard implements KeyboardAdapter.OnClickListener { } @Override - @SuppressLint("NonConstantResourceId") public void onIconClick(int resId) { StringBuilder sb = new StringBuilder(binding.keyword.getText().toString()); int cursor = binding.keyword.getSelectionStart(); - switch (resId) { - case R.drawable.ic_setting_home: - callback.showDialog(); - break; - case R.drawable.ic_keyboard_remote: - callback.onRemote(); - break; - case R.drawable.ic_keyboard_search: - callback.onSearch(); - break; - case R.drawable.ic_keyboard_left: - binding.keyword.setSelection(--cursor < 0 ? 0 : cursor); - break; - case R.drawable.ic_keyboard_right: - binding.keyword.setSelection(++cursor > binding.keyword.length() ? binding.keyword.length() : cursor); - break; - case R.drawable.ic_keyboard_back: - if (cursor == 0) return; - sb.deleteCharAt(cursor - 1); - binding.keyword.setText(sb.toString()); - binding.keyword.setSelection(cursor - 1); - break; - case R.drawable.ic_keyboard: - adapter.toggle(); - break; - } + if (resId == R.drawable.ic_setting_home) callback.showDialog(); + else if (resId == R.drawable.ic_keyboard_remote) callback.onRemote(); + else if (resId == R.drawable.ic_keyboard_search) callback.onSearch(); + else if (resId == R.drawable.ic_keyboard_left) onMoveLeft(cursor); + else if (resId == R.drawable.ic_keyboard_right) onMoveRight(cursor); + else if (resId == R.drawable.ic_keyboard_back) onBackspace(sb, cursor); + else if (resId == R.drawable.ic_keyboard) adapter.toggle(); + } + + private void onMoveLeft(int cursor) { + binding.keyword.setSelection(--cursor < 0 ? 0 : cursor); + } + + private void onMoveRight(int cursor) { + binding.keyword.setSelection(++cursor > binding.keyword.length() ? binding.keyword.length() : cursor); + } + + private void onBackspace(StringBuilder sb, int cursor) { + if (cursor <= 0) return; + sb.deleteCharAt(cursor - 1); + binding.keyword.setText(sb.toString()); + binding.keyword.setSelection(cursor - 1); } @Override diff --git a/build.gradle b/build.gradle index df5c46428..fb93c3102 100644 --- a/build.gradle +++ b/build.gradle @@ -16,7 +16,7 @@ tasks.register('buildAllRelease') { from fileTree("$rootDir/app/build/outputs/apk") { include '**/release/*.apk' } into "$rootDir/Release/apk" eachFile { it.path = it.name } - includeEmptyDirs false + includeEmptyDirs = false } } } diff --git a/catvod/build.gradle b/catvod/build.gradle index cf2249e42..f2f55eaad 100644 --- a/catvod/build.gradle +++ b/catvod/build.gradle @@ -3,21 +3,19 @@ plugins { } android { - namespace 'com.github.catvod.crawler' + namespace = 'com.github.catvod.crawler' compileSdk { - version = release(37) { - it.minorApiLevel = 1 - } + version = release(37) } defaultConfig { minSdk 24 - targetSdk 36 + targetSdk 37 } compileOptions { - coreLibraryDesugaringEnabled true + coreLibraryDesugaringEnabled = true sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } diff --git a/chaquo/build.gradle b/chaquo/build.gradle index 58bda7857..17de7bcce 100644 --- a/chaquo/build.gradle +++ b/chaquo/build.gradle @@ -4,19 +4,17 @@ plugins { } android { - namespace 'com.fongmi.chaquo' + namespace = 'com.fongmi.chaquo' compileSdk { - version = release(37) { - it.minorApiLevel = 1 - } + version = release(37) } defaultConfig { minSdk 24 - targetSdk 36 + targetSdk 37 python { - version "3.10" + version = "3.10" pip { install("-r", "requirements.txt") } diff --git a/forcetech/build.gradle b/forcetech/build.gradle index bd1a730cb..8d6ed47c2 100644 --- a/forcetech/build.gradle +++ b/forcetech/build.gradle @@ -3,17 +3,15 @@ plugins { } android { - namespace 'com.forcetech' + namespace = 'com.forcetech' compileSdk { - version = release(37) { - it.minorApiLevel = 1 - } + version = release(37) } defaultConfig { minSdk 24 - targetSdk 36 + targetSdk 37 ndk { abiFilters "armeabi-v7a" } } } diff --git a/gradle.properties b/gradle.properties index a581206fb..17c65146e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,5 @@ org.gradle.jvmargs=-Xmx4g -Dfile.encoding=UTF-8 --add-exports jdk.compiler/com.s org.gradle.caching=true org.gradle.parallel=true android.useAndroidX=true -android.enableJetifier=true -android.nonFinalResIds=false android.nonTransitiveRClass=false android.useFullClasspathForDexingTransform=true \ No newline at end of file diff --git a/hook/build.gradle b/hook/build.gradle index dfed4838c..f837be124 100644 --- a/hook/build.gradle +++ b/hook/build.gradle @@ -3,21 +3,19 @@ plugins { } android { - namespace 'com.fongmi.hook' + namespace = 'com.fongmi.hook' compileSdk { - version = release(37) { - it.minorApiLevel = 1 - } + version = release(37) } defaultConfig { minSdk 24 - targetSdk 36 + targetSdk 37 } compileOptions { - coreLibraryDesugaringEnabled true + coreLibraryDesugaringEnabled = true sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } diff --git a/jianpian/build.gradle b/jianpian/build.gradle index 90cfc7f41..8a5ef0457 100644 --- a/jianpian/build.gradle +++ b/jianpian/build.gradle @@ -3,17 +3,15 @@ plugins { } android { - namespace 'com.p2p' + namespace = 'com.p2p' compileSdk { - version = release(37) { - it.minorApiLevel = 1 - } + version = release(37) } defaultConfig { minSdk 24 - targetSdk 36 + targetSdk 37 } } diff --git a/quickjs/build.gradle b/quickjs/build.gradle index 7525550aa..3153b8075 100644 --- a/quickjs/build.gradle +++ b/quickjs/build.gradle @@ -3,21 +3,19 @@ plugins { } android { - namespace 'com.fongmi.android.tv.quickjs' + namespace = 'com.fongmi.android.tv.quickjs' compileSdk { - version = release(37) { - it.minorApiLevel = 1 - } + version = release(37) } defaultConfig { minSdk 24 - targetSdk 36 + targetSdk 37 } compileOptions { - coreLibraryDesugaringEnabled true + coreLibraryDesugaringEnabled = true sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } diff --git a/settings.gradle b/settings.gradle index 19a8935df..4046dc610 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,6 +1,3 @@ -plugins { - id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0' -} pluginManagement { repositories { gradlePluginPortal() @@ -8,19 +5,25 @@ pluginManagement { google() } } + +plugins { + id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0' +} + dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { mavenCentral() google() flatDir { dirs "$rootDir/app/libs" } - maven { url "https://jitpack.io" } + maven { url = "https://jitpack.io" } maven { - url "http://4thline.org/m2" + url = "http://4thline.org/m2" allowInsecureProtocol = true } } } + include ':app' include ':catvod' include ':chaquo' diff --git a/thunder/build.gradle b/thunder/build.gradle index 21a774555..9f62537e6 100644 --- a/thunder/build.gradle +++ b/thunder/build.gradle @@ -3,21 +3,19 @@ plugins { } android { - namespace 'com.ghost.thunder' + namespace = 'com.ghost.thunder' compileSdk { - version = release(37) { - it.minorApiLevel = 1 - } + version = release(37) } defaultConfig { minSdk 24 - targetSdk 36 + targetSdk 37 } compileOptions { - coreLibraryDesugaringEnabled true + coreLibraryDesugaringEnabled = true sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } diff --git a/tvbus/build.gradle b/tvbus/build.gradle index a2bb2b8e8..790d28357 100644 --- a/tvbus/build.gradle +++ b/tvbus/build.gradle @@ -3,17 +3,15 @@ plugins { } android { - namespace 'com.tvbus.engine' + namespace = 'com.tvbus.engine' compileSdk { - version = release(37) { - it.minorApiLevel = 1 - } + version = release(37) } defaultConfig { minSdk 24 - targetSdk 36 + targetSdk 37 ndk { abiFilters "armeabi-v7a" } } } diff --git a/zlive/build.gradle b/zlive/build.gradle index 1c5a62c83..018914fdd 100644 --- a/zlive/build.gradle +++ b/zlive/build.gradle @@ -3,17 +3,15 @@ plugins { } android { - namespace 'com.east.android.zlive' + namespace = 'com.east.android.zlive' compileSdk { - version = release(37) { - it.minorApiLevel = 1 - } + version = release(37) } defaultConfig { minSdk 24 - targetSdk 36 + targetSdk 37 ndk { abiFilters "armeabi-v7a" } } }