diff --git a/.idea/other.xml b/.idea/other.xml deleted file mode 100644 index 0d3a1fb..0000000 --- a/.idea/other.xml +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 72c9d94..0bd7cba 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -16,6 +16,14 @@ android { versionName = "1.7.4" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + vectorDrawables { + useSupportLibrary = true + } + externalNativeBuild { + cmake { + cppFlags += "" + } + } } buildTypes { @@ -37,6 +45,7 @@ android { buildFeatures { compose = true viewBinding = true + aidl = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.1" @@ -50,6 +59,18 @@ android { aaptOptions { noCompress("tflite") } + splits { + abi { + isEnable = true + reset() + include("arm64-v8a","x86_64") + } + } + packaging { + resources { + excludes += "/META-INF/{AL2.0,LGPL2.1}" + } + } } dependencies { @@ -82,6 +103,7 @@ dependencies { implementation(libs.androidx.camera.view) implementation(libs.androidx.camera.lifecycle) implementation(libs.androidx.camera.camera2) + implementation(libs.androidx.lifecycle.runtime.compose.android) testImplementation(libs.junit) @@ -93,6 +115,8 @@ dependencies { debugImplementation(libs.androidx.ui.tooling) debugImplementation(libs.androidx.ui.test.manifest) + debugImplementation(libs.leakcanary.android) + implementation(libs.moshi) implementation(libs.okhttp3) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a636c6e..a5c3fec 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -26,6 +26,11 @@ android:supportsRtl="false" android:theme="@style/Theme.Android101" android:usesCleartextTraffic="true"> + diff --git a/app/src/main/aidl/uk/kagurach/kmb/IKaguraMessageBus.aidl b/app/src/main/aidl/uk/kagurach/kmb/IKaguraMessageBus.aidl new file mode 100644 index 0000000..0f21c9c --- /dev/null +++ b/app/src/main/aidl/uk/kagurach/kmb/IKaguraMessageBus.aidl @@ -0,0 +1,8 @@ +package uk.kagurach.kmb; + +import uk.kagurach.kmb.KMessage; + +interface IKaguraMessageBus { + List getMessageList(); + boolean sendMessage(in Person person); +} \ No newline at end of file diff --git a/app/src/main/aidl/uk/kagurach/kmb/KMessage.aidl b/app/src/main/aidl/uk/kagurach/kmb/KMessage.aidl new file mode 100644 index 0000000..ee32161 --- /dev/null +++ b/app/src/main/aidl/uk/kagurach/kmb/KMessage.aidl @@ -0,0 +1,3 @@ +package uk.kagurach.kmb; + +parcelable KMessage; \ No newline at end of file diff --git a/app/src/main/java/uk/kagurach/android101/Page7.kt b/app/src/main/java/uk/kagurach/android101/Page7.kt index 36bd330..4604206 100644 --- a/app/src/main/java/uk/kagurach/android101/Page7.kt +++ b/app/src/main/java/uk/kagurach/android101/Page7.kt @@ -7,7 +7,6 @@ import android.graphics.BitmapFactory import android.media.AudioAttributes import android.media.MediaPlayer import android.net.Uri -import android.os.Build import android.os.Bundle import android.provider.MediaStore import android.util.Log @@ -22,17 +21,20 @@ import android.widget.ImageButton import android.widget.ImageView import android.widget.TextView import androidx.activity.enableEdgeToEdge -import androidx.annotation.RequiresApi import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat import androidx.datastore.preferences.core.edit import androidx.datastore.preferences.core.stringPreferencesKey import androidx.datastore.preferences.preferencesDataStore +import androidx.lifecycle.lifecycleScope import com.arthenica.ffmpegkit.FFmpegKit import com.arthenica.ffmpegkit.ReturnCode +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.map +import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking import okhttp3.Call import okhttp3.Callback @@ -49,13 +51,11 @@ import org.tensorflow.lite.task.vision.classifier.Classifications import org.tensorflow.lite.task.vision.classifier.ImageClassifier import org.tensorflow.lite.task.vision.classifier.ImageClassifier.ImageClassifierOptions import uk.kagurach.android101.additionalActivity.CameraXActivity +import uk.kagurach.android101.helper.PageHelper import uk.kagurach.android101.helper.ToastHelper import java.io.File -import java.io.FileInputStream import java.io.IOException import java.io.InputStream -import java.nio.ByteBuffer -import java.nio.channels.FileChannel val Context.tgDatastore by preferencesDataStore(name = "tg_settings") @@ -64,6 +64,7 @@ val DefaultID = stringPreferencesKey("default_id") class Page7 : KaBaseActivity() { lateinit var storage: TGStorage + lateinit var pageHelper: PageHelper override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -75,6 +76,7 @@ class Page7 : KaBaseActivity() { insets } storage = TGStorage(this) + pageHelper = PageHelper(this, Page6::class.java, MainActivity::class.java) findViewById(R.id.Page7BotID).setText(runBlocking { storage.getDefaultAPI() }) findViewById(R.id.Page7ChatID).setText(runBlocking { storage.getDefaultID() }) @@ -104,6 +106,10 @@ class Page7 : KaBaseActivity() { findViewById(R.id.P7CloseResultButton).setOnClickListener(FrameButtonHandler()) findViewById(R.id.P7CloseAPIButton).setOnClickListener(FrameButtonHandler()) findViewById(R.id.P7CloseShowPicButton).setOnClickListener(FrameButtonHandler()) + + // PageHelper + findViewById