Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,6 @@ build/
app/.externalNativeBuild/

# NDK stuff
.cxx/
.cxx/

app/src/main/res/layout/balance_text_view.xml
56 changes: 48 additions & 8 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
apply plugin: 'com.android.application'

plugins {
id 'com.android.application'
id 'kotlin-android'
id 'org.jetbrains.kotlin.plugin.serialization' version '1.9.10'
}

android {
ndkVersion "23.2.8568313"
Expand All @@ -8,7 +13,7 @@ android {
namespace 'com.limelight'

defaultConfig {
minSdk 16
minSdk 24
targetSdk 34

versionName "11.0"
Expand Down Expand Up @@ -54,12 +59,20 @@ android {
}
}

// Shaga
compileOptions {
encoding "UTF-8"
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}

// Shaga
kotlinOptions {
jvmTarget = "17"
}



lint {
disable 'MissingTranslation'
lintConfig file('lint.xml')
Expand Down Expand Up @@ -135,13 +148,40 @@ android {
}
}



dependencies {
implementation 'androidx.appcompat:appcompat:1.6.1'
// Shaga
implementation 'com.google.zxing:core:3.4.1'
implementation 'com.google.android.gms:play-services-location:21.0.1'
implementation 'com.mapbox.maps:android:10.16.0'
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.6.2'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4' // Version may differ, please check for the latest version
implementation 'com.github.joshjdevl.libsodiumjni:libsodium-jni-aar:2.0.2'
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0'
implementation 'org.jetbrains:annotations:15.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'com.google.android.material:material:1.9.0'
testImplementation 'junit:junit:4.13.2'
implementation "io.github.instantwebp2p:tweetnacl-java:1.1.2"
testImplementation 'org.mockito:mockito-core:3.9.0'
implementation 'com.solanamobile:mobile-wallet-adapter-walletlib:1.0.5'
implementation 'com.solanamobile:mobile-wallet-adapter-clientlib-ktx:1.0.5'
implementation ('com.github.metaplex-foundation:SolanaKT:2.1.1') {
exclude group: 'org.bouncycastle'
}
// ---A all solana stuff
implementation 'com.google.code.gson:gson:2.8.8'
implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.9.10'


implementation 'org.bouncycastle:bcprov-jdk15on:1.70'
implementation 'org.bouncycastle:bcpkix-jdk15on:1.70'
implementation 'org.jcodec:jcodec:0.2.3'
implementation 'com.squareup.okhttp3:okhttp:3.12.13'
implementation 'com.squareup.okio:okio:1.17.5'
implementation 'org.jcodec:jcodec:0.2.5'
implementation 'com.squareup.okhttp3:okhttp:4.9.2'
implementation 'com.squareup.okio:okio:3.5.0'
// 3.5.8 requires minSdk 19, uses StandardCharsets.UTF_8 internally
implementation 'org.jmdns:jmdns:3.5.7'
implementation 'org.jmdns:jmdns:3.5.8'
implementation 'com.github.cgutman:ShieldControllerExtensions:1.0'
}
36 changes: 36 additions & 0 deletions app/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# Don't obfuscate code
-dontobfuscate

# Shaga
-keepattributes *Annotation*


# Our code
-keep class com.limelight.binding.input.evdev.* {*;}

Expand All @@ -21,8 +25,40 @@
-keep class org.bouncycastle.jcajce.provider.symmetric.** {*;}
-keep class org.bouncycastle.jcajce.spec.* {*;}
-keep class org.bouncycastle.jce.** {*;}
# Shaga added
-keep class org.bouncycastle.jsse.BCSSLParameters {*;}
-keep class org.bouncycastle.jsse.BCSSLSocket {*;}
-keep class org.bouncycastle.jsse.provider.BouncyCastleJsseProvider {*;}
-dontwarn javax.naming.**

# jMDNS
-dontwarn javax.jmdns.impl.DNSCache
-dontwarn org.slf4j.**

# Conscript
-keep class org.conscrypt.Conscrypt$Version {*;}
-keep class org.conscrypt.Conscrypt {*;}
-keep class org.conscrypt.ConscryptHostnameVerifier {*;}

# OpenJsse
-keep class org.openjsse.javax.net.ssl.SSLParameters {*;}
-keep class org.openjsse.javax.net.ssl.SSLSocket {*;}
-keep class org.openjsse.net.ssl.OpenJSSE {*;}

# Additional try
-keep class okhttp3.internal.platform.** { *; }
-keep class com.squareup.okhttp3.** { *; }
-keep class org.bouncycastle.** { *; }
-keep class org.conscrypt.** { *; }
-keep class org.openjsse.** { *; }

# These rules shouldn't be applied:
-dontwarn org.bouncycastle.jsse.BCSSLParameters
-dontwarn org.bouncycastle.jsse.BCSSLSocket
-dontwarn org.bouncycastle.jsse.provider.BouncyCastleJsseProvider
-dontwarn org.conscrypt.Conscrypt$Version
-dontwarn org.conscrypt.Conscrypt
-dontwarn org.conscrypt.ConscryptHostnameVerifier
-dontwarn org.openjsse.javax.net.ssl.SSLParameters
-dontwarn org.openjsse.javax.net.ssl.SSLSocket
-dontwarn org.openjsse.net.ssl.OpenJSSE
30 changes: 30 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Shaga Map -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Expand Down Expand Up @@ -51,6 +54,10 @@
android:enableOnBackInvokedCallback="false"
android:theme="@style/AppTheme">

<meta-data
android:name="com.mapbox.token"
android:value="@string/mapbox_access_token"/>

<provider
android:name=".PosterContentProvider"
android:authorities="poster.${applicationId}"
Expand Down Expand Up @@ -176,6 +183,29 @@
android:name="android.support.PARENT_ACTIVITY"
android:value="com.limelight.PcView" />
</activity>

<!-- Add this line to register MapActivity -->
<activity android:name=".shagaProtocol.MapActivity"
android:theme="@style/Theme.AppCompat.Light.DarkActionBar">
<!-- Intent filters go here, if any -->
</activity>

<activity android:name=".shagaProtocol.RentingActivity"
android:theme="@style/RentingActivityTheme">
<!-- Intent filters go here, if any -->
</activity>

<activity android:name=".solanaWallet.WalletActivity"
android:theme="@style/Theme.AppCompat.Light.DarkActionBar">
<!-- Add intent filters here if necessary -->
</activity>

<activity android:name=".shagaProtocol.PairingActivity"
android:theme="@style/RentingActivityTheme">
<!-- Add intent filters here if necessary -->
</activity>


</application>

</manifest>
6 changes: 6 additions & 0 deletions app/src/main/java/com/limelight/AppView.java
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@

import org.xmlpull.v1.XmlPullParserException;

// Shaga

public class AppView extends Activity implements AdapterFragmentCallbacks {
private AppGridAdapter appGridAdapter;
private String uuidString;
Expand Down Expand Up @@ -314,6 +316,10 @@ protected void onCreate(Bundle savedInstanceState) {
setTitle(computerName);
label.setText(computerName);





// Bind to the computer manager service
bindService(new Intent(this, ComputerManagerService.class), serviceConnection,
Service.BIND_AUTO_CREATE);
Expand Down
Loading