Skip to content
This repository was archived by the owner on Mar 12, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
3edbcf3
Kotlinization!
l3ger0j Feb 8, 2025
ca93692
Changed the formatting of the code
l3ger0j Feb 8, 2025
bf2a9c8
Changed the name of the threads
l3ger0j Feb 8, 2025
a13bcb0
Changed the warning text
l3ger0j Feb 8, 2025
c5c432e
Replaced the `throwIfNotMainThread` method with a synchronization method
l3ger0j Feb 8, 2025
3a7c771
Removed unused methods in the `utils` package
l3ger0j Feb 8, 2025
5aafa1b
Fixed build `LibBravo`
l3ger0j Feb 9, 2025
8d0c7ce
Rename .java to .kt
l3ger0j Feb 9, 2025
d4dcce0
Convert to Kotlin
l3ger0j Feb 9, 2025
1f98e0d
Removed unused parameter
l3ger0j Feb 9, 2025
5527b86
Renamed one of the binding functions
l3ger0j Feb 10, 2025
6e8a844
Added for some methods in the binding converter to JVM strings
l3ger0j Feb 10, 2025
869af42
Refactored `LibBravo`
l3ger0j Feb 10, 2025
15f59f5
Added new methods for working with saves
l3ger0j Feb 10, 2025
d7aabb1
Rename .java to .kt
l3ger0j Feb 10, 2025
ea11f3f
Full kotlinization!
l3ger0j Feb 10, 2025
7ababf4
Add a check for the image field to be null
l3ger0j Mar 6, 2025
30a1abc
Remove unnecessary nesting
l3ger0j Mar 6, 2025
73c2867
Add a check for equality of references
l3ger0j Mar 6, 2025
c3e6af9
Fix the error of using the wrong array
l3ger0j Mar 6, 2025
623b36e
Add a new function to check a string for nullability
l3ger0j Mar 7, 2025
a75f383
Refactor `HtmlUtil`
l3ger0j Mar 7, 2025
585e4a5
Refactor `FileUtil`
l3ger0j Mar 7, 2025
3c84ee6
Make data classes immutable
l3ger0j Mar 7, 2025
409e037
Refactor `impl` package
l3ger0j Mar 7, 2025
780f0a7
Add a default value for the gameState field
l3ger0j Mar 8, 2025
ef22b6f
Secure native methods
l3ger0j Mar 8, 2025
deacfc1
Make the data class immutable
l3ger0j Mar 8, 2025
799d28c
Rename .java to .kt
l3ger0j Mar 8, 2025
6dfa3d3
Convert to Kotlin
l3ger0j Mar 8, 2025
3e93b06
Fix the creation of the menu list
l3ger0j Mar 8, 2025
3ab5990
Refactor `loadInterfaceConfiguration` method
l3ger0j Mar 9, 2025
005bda7
Improve the native binding
l3ger0j Mar 9, 2025
f1d0ebc
Use the Kotlin contracts
l3ger0j Mar 9, 2025
c94ffc1
Roll back the file update
l3ger0j Mar 10, 2025
866b252
Refactor `*ProxyImpl`
l3ger0j Mar 14, 2025
1189e45
Add a nullability check
l3ger0j Apr 4, 2025
ccbcfd7
Remove the use of the debugger
l3ger0j Apr 4, 2025
7a4920e
Get rid of lateinit and the setCallback() method
l3ger0j Apr 4, 2025
690540f
Make the data class immutable
l3ger0j Apr 4, 2025
44a430f
Use delayed initialization for the callbacks field
l3ger0j May 16, 2025
50d2ea6
Combine methods for sending the current state
l3ger0j May 16, 2025
27e810d
Combine LibListItem and LibListItem into one class
l3ger0j May 16, 2025
22c4b4e
Replace the setter with a variable with initialization in the constru…
l3ger0j May 16, 2025
8afd892
Remove the useless operator
l3ger0j May 16, 2025
cae7712
Use an inline function instead of try-finally
l3ger0j May 16, 2025
a093e1a
Remove useless synchronization for the library thread stop method
l3ger0j May 22, 2025
76802e4
Add a function call to remove handlers
l3ger0j May 22, 2025
23824a6
Remove meaningless use of the logger
l3ger0j May 22, 2025
3782d48
Fix places that could potentially cause an NPE error
l3ger0j Jun 7, 2025
e8b7c1f
Replace the method of requesting permission for a file with the metho…
l3ger0j Jun 7, 2025
b260b73
Remove unused methods and imports
l3ger0j Jun 7, 2025
f6b32d9
Update project dependencies
l3ger0j Jun 7, 2025
d5eb56c
Fix issues for Android 15 and add dependency to the service
l3ger0j Jun 9, 2025
3c9f87e
Convert an int type field to a long type field
l3ger0j Jun 9, 2025
dee8e32
Remove unused build feature
l3ger0j Jun 9, 2025
1a20338
Bump to 0.1.0
l3ger0j Jun 9, 2025
461d959
Merge remote-tracking branch 'origin/master' into unstable
l3ger0j Jun 9, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 0 additions & 53 deletions app/build.gradle

This file was deleted.

59 changes: 59 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
}

android {
namespace = "org.qp.android.questopiabundle"
compileSdk = 35

defaultConfig {
applicationId = "org.qp.android.questopiabundle"
minSdk = 26
targetSdk = 34
versionCode = 100000
versionName = "0.1.0"

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}

buildTypes {
release {
isMinifyEnabled = false
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}

compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}

kotlinOptions {
jvmTarget = "17"
}

buildFeatures {
buildConfig = true
aidl = true
}

}

dependencies {
implementation(project(":libalpha"))
implementation(project(":libbravo"))
implementation(project(":libcharlie"))

implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.material)
implementation(libs.androidx.constraintlayout)

implementation(libs.storage)
implementation(libs.jsoup)

testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
}
17 changes: 12 additions & 5 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,13 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.INTERNET" />

<queries android:exported="false">
<package android:name="com.google.android.documentsui" />
<package android:name="com.google.android.apps.docs" />
<package android:name="com.android.microdroid.empty_payload" />
</queries>

<application
android:allowBackup="true"
Expand All @@ -16,13 +22,14 @@

<service
android:name=".QuestopiaBundle"
android:exported="true"
android:permission="android.permission.INTERNET"
android:process=":remote"
android:exported="true">
android:process=":remote">
<intent-filter>
<action android:name="org.qp.intent.action.PICK_PLUGIN"/>
<action android:name="org.qp.intent.action.PICK_PLUGIN" />
<action android:name="org.qp.android.plugin.ENGINE_PLUGIN" />
<category android:name="org.qp.intent.category.ADD_PLUGIN"/>

<category android:name="org.qp.intent.category.ADD_PLUGIN" />
</intent-filter>
</service>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package org.qp.android.questopiabundle;

import android.net.Uri;
import org.qp.android.questopiabundle.LibResult;
import org.qp.android.questopiabundle.LibException;
import org.qp.android.questopiabundle.LibDialogRetValue;

interface AsyncCallbacks {
void sendLibGameState(in LibResult libResult);
void sendLibRef(in LibResult libResult);
void updateState(in LibResult refReq, in LibResult newState);
void sendChangeCurrGameDir(in Uri gameDirUri);

LibDialogRetValue doOnShowDialog(in LibResult typeDialog, String inputString);
Expand All @@ -17,5 +17,8 @@ interface AsyncCallbacks {
void closeFile(String filePath);
void playFile(String path, int volume);

Uri requestReceiveFile(in String filePath);
Uri requestCreateFile(in Uri fileUri, String path);

void onError(in LibException libException);
}

This file was deleted.

27 changes: 27 additions & 0 deletions app/src/main/java/org/qp/android/questopiabundle/GameInterface.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package org.qp.android.questopiabundle

import android.net.Uri
import org.qp.android.questopiabundle.lib.LibRefIRequest
import org.qp.android.questopiabundle.lib.LibTypeDialog
import org.qp.android.questopiabundle.lib.LibTypeWindow

interface GameInterface {
fun requestReceiveFile(filePath: String): Uri
fun requestCreateFile(dirUri: Uri, path: String): Uri
fun isPlayingFile(filePath: String): Boolean
fun closeAllFiles()
fun closeFile(filePath: String?)
fun playFile(path: String?, volume: Int)
fun doChangeCurrGameDir(newGameDirUri: Uri?)
fun doUpdateState(request: LibRefIRequest)
fun showLibDialog(dialog: LibTypeDialog?, inputString: String?): LibDialogRetValue?
fun changeVisWindow(type: LibTypeWindow?, show: Boolean)
/**
* Set the counter location processing interval to `delayMillis` milliseconds.
*/
fun setCountInter(delayMillis: Int)
/**
* Execute `runnable` without processing the location counter.
*/
fun doWithCounterDisabled(runnable: Runnable?)
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package org.qp.android.questopiabundle

import android.os.Parcel
import android.os.Parcelable

data class LibDialogRetValue(
val outTextValue: String = "",
val outNumValue: Int = 0
) : Parcelable {

constructor(source: Parcel) : this(
source.readString() ?: "",
source.readInt()
)

override fun describeContents(): Int = 0

override fun writeToParcel(dest: Parcel, flags: Int) {
dest.writeString(outTextValue)
dest.writeInt(outNumValue)
}

companion object CREATOR : Parcelable.Creator<LibDialogRetValue> {
override fun createFromParcel(source: Parcel): LibDialogRetValue {
return LibDialogRetValue(source)
}

override fun newArray(size: Int): Array<LibDialogRetValue?> {
return arrayOfNulls(size)
}
}
}
60 changes: 0 additions & 60 deletions app/src/main/java/org/qp/android/questopiabundle/LibException.java

This file was deleted.

Loading