From 9429f36f0d2e016c0d76a6531514294fcc66419b Mon Sep 17 00:00:00 2001 From: Akash Yadav Date: Thu, 5 Jan 2023 17:24:25 +0530 Subject: [PATCH] chore: use private signing key to sign APKs --- .github/workflows/build.yml | 7 + .gitignore | 3 + app/.gitignore | 4 + app/build.gradle.kts | 79 +++++- .../app-release.apk.cache/code-version | 1 - .../metadata/17/00003017.jadxmd | Bin 4035 -> 0 bytes .../metadata/18/00003018.jadxmd | Bin 88 -> 0 bytes .../metadata/27/00003227.jadxmd | Bin 22260 -> 0 bytes .../metadata/2c/0000322c.jadxmd | Bin 2392 -> 0 bytes .../metadata/43/00002f43.jadxmd | Bin 13482 -> 0 bytes .../metadata/47/00003247.jadxmd | Bin 3204 -> 0 bytes .../metadata/e5/000030e5.jadxmd | Bin 17678 -> 0 bytes app/release/app-release.apk.cache/names-map | Bin 434 -> 0 bytes .../sources/17/00003017.java | 33 --- .../sources/18/00003018.java | 6 - .../sources/27/00003227.java | 224 ------------------ .../sources/2c/0000322c.java | 14 -- .../sources/43/00002f43.java | 174 -------------- .../sources/47/00003247.java | 45 ---- .../sources/e5/000030e5.java | 210 ---------------- app/release/output-metadata.json | 4 +- .../assets/data/common/tooling-api-all.jar | Bin 16156439 -> 16156439 bytes build-logic/ide/src/main/kotlin/config.kt | 29 +++ changelogs/v2.1.4-beta.md | 15 +- 24 files changed, 121 insertions(+), 727 deletions(-) delete mode 100644 app/release/app-release.apk.cache/code-version delete mode 100644 app/release/app-release.apk.cache/metadata/17/00003017.jadxmd delete mode 100644 app/release/app-release.apk.cache/metadata/18/00003018.jadxmd delete mode 100644 app/release/app-release.apk.cache/metadata/27/00003227.jadxmd delete mode 100644 app/release/app-release.apk.cache/metadata/2c/0000322c.jadxmd delete mode 100644 app/release/app-release.apk.cache/metadata/43/00002f43.jadxmd delete mode 100644 app/release/app-release.apk.cache/metadata/47/00003247.jadxmd delete mode 100644 app/release/app-release.apk.cache/metadata/e5/000030e5.jadxmd delete mode 100644 app/release/app-release.apk.cache/names-map delete mode 100644 app/release/app-release.apk.cache/sources/17/00003017.java delete mode 100644 app/release/app-release.apk.cache/sources/18/00003018.java delete mode 100644 app/release/app-release.apk.cache/sources/27/00003227.java delete mode 100644 app/release/app-release.apk.cache/sources/2c/0000322c.java delete mode 100644 app/release/app-release.apk.cache/sources/43/00002f43.java delete mode 100644 app/release/app-release.apk.cache/sources/47/00003247.java delete mode 100644 app/release/app-release.apk.cache/sources/e5/000030e5.java create mode 100644 build-logic/ide/src/main/kotlin/config.kt diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6d6cb2835..2c55eef67 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -44,6 +44,13 @@ jobs: ${{ runner.os }}-gradle- - name: Assemble Debug run: ./gradlew assembleDebug + env: + IDE_SIGNING_ALIAS: ${{ secrets.IDE_SIGNING_ALIAS }} + IDE_SIGNING_AUTH_PASS: ${{ secrets.IDE_SIGNING_AUTH_PASS }} + IDE_SIGNING_AUTH_USER: ${{ secrets.IDE_SIGNING_AUTH_USER }} + IDE_SIGNING_KEY_PASS: ${{ secrets.IDE_SIGNING_KEY_PASS }} + IDE_SIGNING_STORE_PASS: ${{ secrets.IDE_SIGNING_STORE_PASS }} + IDE_SIGNING_URL: ${{ secrets.IDE_SIGNING_URL }} - name: Upload APK uses: actions/upload-artifact@v3 with: diff --git a/.gitignore b/.gitignore index b6bc0116e..39f4bfd3e 100755 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ +# Downloaded signing key +signing-key.jks + # Built application files *.apk *.aar diff --git a/app/.gitignore b/app/.gitignore index a20e766cb..99cef3ab4 100755 --- a/app/.gitignore +++ b/app/.gitignore @@ -1,3 +1,7 @@ +# Directories that are created when generating signed APK in Android Studio +/debug +/release + # Built application files *.apk *.aar diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 37341fac8..a62cb99f8 100755 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,9 +1,14 @@ +@file:Suppress("UnstableApiUsage") + +import de.undercouch.gradle.tasks.download.DownloadAction + plugins { id("com.android.application") id("kotlin-android") id("kotlin-kapt") id("kotlin-parcelize") id("com.google.android.gms.oss-licenses-plugin") + id("de.undercouch.download") version "5.3.0" } android { @@ -16,20 +21,32 @@ android { compileOptions { isCoreLibraryDesugaringEnabled = true } - signingConfigs.create("common") { - storeFile = file("dev.keystore") - keyAlias = "androidide" - storePassword = "ed68424fb109e5aa8146e4b86caa72e3" - keyPassword = "ed68424fb109e5aa8146e4b86caa72e3" + downloadSigningKey() + + // Keystore credentials + val alias = checkAndGetEnv(KEY_ALIAS) + val storePass = checkAndGetEnv(KEY_STORE_PASS) + val keyPass = checkAndGetEnv(KEY_PASS) + + if (alias != null && storePass != null && keyPass != null && signingKey.exists()) { + signingConfigs.create("common") { + storeFile = signingKey + keyAlias = alias + storePassword = storePass + keyPassword = keyPass + } + + buildTypes { + debug { signingConfig = signingConfigs.getByName("common") } + release { signingConfig = signingConfigs.getByName("common") } + } + } else { + logger.warn( + "Signing info not configured. keystoreFile=$signingKey[exists=${signingKey.exists()}]" + ) } - buildTypes { - debug { signingConfig = signingConfigs.getByName("common") } - release { - isShrinkResources = true - signingConfig = signingConfigs.getByName("common") - } - } + buildTypes { release { isShrinkResources = true } } packagingOptions { resources.excludes.addAll( @@ -135,3 +152,41 @@ dependencies { androidTestImplementation(libs.tests.androidx.espresso) androidTestImplementation(libs.tests.google.truth) } + +fun downloadSigningKey() { + if (signingKey.exists()) { + logger.info("Skipping download as ${signingKey.name} file already exists.") + return + } + + // URL to download the signing key + val url = checkAndGetEnv(KEY_URL) ?: return + + // Username and password required to download the keystore + val user = checkAndGetEnv(AUTH_USER) ?: return + val pass = checkAndGetEnv(AUTH_PASS) ?: return + + logger.info("Downloading signing key...") + DownloadAction(project).apply { + src(url) + dest(signingKey) + username(user) + password(pass) + overwrite(false) + + // Must be set to true + quiet(true) + }.execute() + + // wait for the download to finish + .get() +} + +fun checkAndGetEnv(env: String): String? { + val value = System.getenv(env) + if (value.isNullOrBlank()) { + logger.warn("$env is not set. Debug key will be used to sign the APK") + return null + } + return value +} diff --git a/app/release/app-release.apk.cache/code-version b/app/release/app-release.apk.cache/code-version deleted file mode 100644 index 8fd40976c..000000000 --- a/app/release/app-release.apk.cache/code-version +++ /dev/null @@ -1 +0,0 @@ -13:1.4.5:cc60397faac154890c9f2f4683bb70b6:82071990f993a249edb0412426c11d47 \ No newline at end of file diff --git a/app/release/app-release.apk.cache/metadata/17/00003017.jadxmd b/app/release/app-release.apk.cache/metadata/17/00003017.jadxmd deleted file mode 100644 index 6d5716fd08b3044f4f0996c2c5101be1f657de9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4035 zcmds4O=uHA6rRogCWu}jtDY+Uyv=5l)lRC!712vV^7j3G^S$rQ4qEoe zkc|-1HzKgETB(gR z*BT-nnL8;7ZL0Cu)s&33mi=&!xtzEhd!&GSNP!i-94VmIJmKN5ZV1?xY0nN?r!3R4 z+`M^|d(_RRFG8G#FwQATPUBwqKszJ8g|_x=`3bX}$%IU17`u=@pHdgJuSprL_2Xkd zJ`Uoe9pI6(c-!*Kf?}RRh?Z)I?xN!yVHA4v4vgf;FsIB#&7IVxe2*w#@BO51P9)Vi z{ZbMNI-8VGbJ*HxYC}snOI>1lS!dt`uk#040!ZE>rgx;CJN1II3E zIV^vSjPQ&*T;%%#BRUaQ7J?PzG^07wSx9K+8OuAw44)gaphJjhatJv?W`Im4uzBhB60*TSg~-A{nUSM3BS%?w z7awI>N+@-9FQGL)G9_XJ70&51bz}KJ*VkSH?~NgiD-(LqW5wZfdIGhG8QjzAlt_-6 zg6}@NMA|;TxIXIBwj=XNt4)s&np_>8Qr7SBM!UmP$$Wn-zI>F5OCPVwM(MzOOL|dL zA8HHQzfTcaQUt;&A-#;tg7y;NT`sN9H60N65Bf*SiUg6+>VSFSgg(@610WSa7I5lD z#6ALw<1%jfnvc7g>+ga|4M-WMV*dqYnbf|hQk+dJLbwoA5ooVf5V;y&cYg=Ss42C1MwG;Y`g-a!zy$+gr_s1vimz8@9qN diff --git a/app/release/app-release.apk.cache/metadata/18/00003018.jadxmd b/app/release/app-release.apk.cache/metadata/18/00003018.jadxmd deleted file mode 100644 index 8b9aa0d7a4be5758f1f55a9c2dd3f1dcf46c08e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88 zcmc~wOsU9CVSoUpRg4^y7}*#Z?343z^)gF}6SFJz67y1u@-tI1Q&RN`ic-^3i&FEF eQ;YR7^GZ^S@)C3O+*9*XixP7J5OUrnlNbSqv>inN diff --git a/app/release/app-release.apk.cache/metadata/27/00003227.jadxmd b/app/release/app-release.apk.cache/metadata/27/00003227.jadxmd deleted file mode 100644 index d4da87082fac5bdae807e57c489ecccdc59eb426..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22260 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 Oh}XQykp4hL_2BdC)wT9-PxMngn}Y? zDITQ9A{8u1i-#iUse%#+dT35P^iaLEUIYnsOzkUz(t=V|=%>!`dDl~Dvz8*7Us}!YAFhZQbZD2)19P%w`s;0vOUYQ zr?NS0&&1-1R4MWzB0r5V^F8f)bI8$6&2^DGJeJnxwV|@Cp)u@|3==L#6K0;IT@uQtL9QB}IOqv_Utv=1erMS;$viMjfi6 zCJ(|;*a^2u_Yu&c>RP0o@OC&r_rtLKU1k<}_MWGicp4+)A3AqsDCA{!oiW*-?Mbq-VynWZW~& zo0>y6irQnmy5N;jzcH0YI!V?<{54BVzLNM>0IL!VFH5v-&nTJE=44{A>$$2oPb}DE z77?sp_1WD;PWA#fV8v5GJPrWQn)@q&Vi8CoR?8n9!8RtNwFUIc)kxge^4G8vlYk4= zJ0{OXYhAtwK2x=Iu3G3k^AIPbc#g*fx=$T1qe#oxaE*8_FGfwOZD2eQj<~wppEVdz8^FvY;3t~Y3Khj{`R;{&#OEarp6Q2ih zS!@Gv%Y(Ei{t^P}ut$UO*1zcLhdD3M3&8g0&I=nnvwJ_LDOy}Qr=h)9{zK>=ntyOI diff --git a/app/release/app-release.apk.cache/metadata/e5/000030e5.jadxmd b/app/release/app-release.apk.cache/metadata/e5/000030e5.jadxmd deleted file mode 100644 index 4b243ae8d691e77120930e4ee958cb9c1f9cc95f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17678 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 diff --git a/app/release/app-release.apk.cache/names-map b/app/release/app-release.apk.cache/names-map deleted file mode 100644 index d7c51c35166e8f498fabdf2b6cfc47b59e69fc5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 434 zcmZvY!Ab)`42E;_5%diTB60EJNd#LcYL$Wo&v7T+MrSh1OqOmR*!OTpq4qGhz@PvB z^5>J>r~v@Z;HixP#WH;zkkq9pP8?&Oc*}{k<&2JuK17{phbub7!4^V3b{ih;QTxFj z{zQQ094_m5WAHeb_>5~Z CREATOR = new Creator(); - public final Integer icon; - public final String key; - public final Integer summary; - public final int title; - - /* compiled from: editor.kt */ - /* renamed from: com.itsaky.androidide.preferences.CompletionsMatchLower$1 reason: invalid class name */ - /* loaded from: classes.dex */ - public /* synthetic */ class AnonymousClass1 extends FunctionReferenceImpl implements Function1 { - public AnonymousClass1(AnonymousClass2 anonymousClass2) { - super(1, anonymousClass2, KMutableProperty0.class, "set", "set(Ljava/lang/Object;)V", 0); - } - - @Override // kotlin.jvm.functions.Function1 - public final Unit invoke(Boolean bool) { - ((KMutableProperty0) this.receiver).set(Boolean.valueOf(bool.booleanValue())); - return Unit.INSTANCE; - } - } - - /* compiled from: editor.kt */ - /* renamed from: com.itsaky.androidide.preferences.CompletionsMatchLower$2 reason: invalid class name */ - /* loaded from: classes.dex */ - public /* synthetic */ class AnonymousClass2 extends MutablePropertyReference0Impl { - public static final AnonymousClass2 INSTANCE = new AnonymousClass2(); - - public AnonymousClass2() { - super(MergeMessageFormatter.class, "completionsMatchLower", "getCompletionsMatchLower()Z"); - } - - public final Object get$1() { - return AutoSave$2$$ExternalSyntheticOutline0.m("idepref_editor_completions_matchLower", false); - } - - @Override // kotlin.jvm.internal.MutablePropertyReference0Impl, kotlin.reflect.KMutableProperty0 - public final void set(Object obj) { - R$id.getPrefManager().putBoolean("idepref_editor_completions_matchLower", ((Boolean) obj).booleanValue()); - } - } - - /* compiled from: editor.kt */ - /* renamed from: com.itsaky.androidide.preferences.CompletionsMatchLower$3 reason: invalid class name */ - /* loaded from: classes.dex */ - public /* synthetic */ class AnonymousClass3 extends FunctionReferenceImpl implements Function0 { - public AnonymousClass3(AnonymousClass4 anonymousClass4) { - super(0, anonymousClass4, KMutableProperty0.class, "get", "get()Ljava/lang/Object;", 0); - } - - @Override // kotlin.jvm.functions.Function0 - public final Boolean invoke() { - return (Boolean) ((KMutableProperty0) this.receiver).get$1(); - } - } - - /* compiled from: editor.kt */ - /* renamed from: com.itsaky.androidide.preferences.CompletionsMatchLower$4 reason: invalid class name */ - /* loaded from: classes.dex */ - public /* synthetic */ class AnonymousClass4 extends MutablePropertyReference0Impl { - public static final AnonymousClass4 INSTANCE = new AnonymousClass4(); - - public AnonymousClass4() { - super(MergeMessageFormatter.class, "completionsMatchLower", "getCompletionsMatchLower()Z"); - } - - public final Object get$1() { - return AutoSave$2$$ExternalSyntheticOutline0.m("idepref_editor_completions_matchLower", false); - } - - @Override // kotlin.jvm.internal.MutablePropertyReference0Impl, kotlin.reflect.KMutableProperty0 - public final void set(Object obj) { - R$id.getPrefManager().putBoolean("idepref_editor_completions_matchLower", ((Boolean) obj).booleanValue()); - } - } - - /* compiled from: editor.kt */ - /* loaded from: classes.dex */ - public static final class Creator implements Parcelable.Creator { - @Override // android.os.Parcelable.Creator - public final CompletionsMatchLower createFromParcel(Parcel parcel) { - Integer valueOf; - Intrinsics.checkNotNullParameter(parcel, "parcel"); - String readString = parcel.readString(); - int readInt = parcel.readInt(); - Integer num = null; - if (parcel.readInt() == 0) { - valueOf = null; - } else { - valueOf = Integer.valueOf(parcel.readInt()); - } - if (parcel.readInt() != 0) { - num = Integer.valueOf(parcel.readInt()); - } - return new CompletionsMatchLower(readString, readInt, valueOf, num); - } - - @Override // android.os.Parcelable.Creator - public final CompletionsMatchLower[] newArray(int i) { - return new CompletionsMatchLower[i]; - } - } - - /* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */ - public CompletionsMatchLower(String key, int i, Integer num, Integer num2) { - super(new AnonymousClass3(AnonymousClass4.INSTANCE), new AnonymousClass1(AnonymousClass2.INSTANCE)); - Intrinsics.checkNotNullParameter(key, "key"); - this.key = key; - this.title = i; - this.summary = num; - this.icon = num2; - } - - @Override // android.os.Parcelable - public final int describeContents() { - return 0; - } - - @Override // com.itsaky.androidide.preferences.IPreference - public final Integer getIcon() { - return this.icon; - } - - @Override // com.itsaky.androidide.preferences.IPreference - public final String getKey() { - return this.key; - } - - @Override // com.itsaky.androidide.preferences.IPreference - public final Integer getSummary() { - return this.summary; - } - - @Override // com.itsaky.androidide.preferences.IPreference - public final int getTitle() { - return this.title; - } - - @Override // android.os.Parcelable - public final void writeToParcel(Parcel out, int i) { - Intrinsics.checkNotNullParameter(out, "out"); - out.writeString(this.key); - out.writeInt(this.title); - int i2 = 0; - Integer num = this.summary; - if (num == null) { - out.writeInt(0); - } else { - AutoSave$$ExternalSyntheticOutline0.m(out, 1, num); - } - Integer num2 = this.icon; - if (num2 != null) { - out.writeInt(1); - i2 = num2.intValue(); - } - out.writeInt(i2); - } -} \ No newline at end of file diff --git a/app/release/app-release.apk.cache/sources/47/00003247.java b/app/release/app-release.apk.cache/sources/47/00003247.java deleted file mode 100644 index a60964abf..000000000 --- a/app/release/app-release.apk.cache/sources/47/00003247.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.itsaky.androidide.xml.widgets.internal.util; - -import com.itsaky.androidide.xml.widgets.Widget; -import java.util.List; -import kotlin.jvm.internal.Intrinsics; -import kotlin.jvm.internal.Intrinsics$$ExternalSyntheticCheckNotZero0; - -/* compiled from: DefaultWidget.kt */ -/* loaded from: classes.dex */ -public final class DefaultWidget implements Widget { - public final String qualifiedName; - public final String simpleName; - public final List superclasses; - public final int type; - - /* JADX WARN: Incorrect types in method signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/util/List;)V */ - public DefaultWidget(String str, String str2, int i, List superclasses) { - Intrinsics$$ExternalSyntheticCheckNotZero0.m(i, "type"); - Intrinsics.checkNotNullParameter(superclasses, "superclasses"); - this.simpleName = str; - this.qualifiedName = str2; - this.type = i; - this.superclasses = superclasses; - } - - @Override // com.itsaky.androidide.xml.widgets.Widget - public final String getQualifiedName() { - return this.qualifiedName; - } - - @Override // com.itsaky.androidide.xml.widgets.Widget - public final String getSimpleName() { - return this.simpleName; - } - - @Override // com.itsaky.androidide.xml.widgets.Widget - public final List getSuperclasses() { - return this.superclasses; - } - - @Override // com.itsaky.androidide.xml.widgets.Widget - public final int getType$enumunboxing$() { - return this.type; - } -} \ No newline at end of file diff --git a/app/release/app-release.apk.cache/sources/e5/000030e5.java b/app/release/app-release.apk.cache/sources/e5/000030e5.java deleted file mode 100644 index 2cd4192f0..000000000 --- a/app/release/app-release.apk.cache/sources/e5/000030e5.java +++ /dev/null @@ -1,210 +0,0 @@ -package com.itsaky.androidide.treesitter; - -import com.google.protobuf.ByteString$BoundedByteString$$ExternalSyntheticOutline0; -import java.nio.charset.StandardCharsets; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; - -/* loaded from: classes.dex */ -public class TSNode { - private int context0; - private int context1; - private int context2; - private int context3; - private long id; - private TSTree mTree; - private long tree; - - private TSNode() { - } - - private native TSNode getChildAt(int i); - - private native TSNode getChildByFieldName(byte[] bArr, int i); - - private native TSNode getNamedChildAt(int i); - - public List findChildrenWithType(String str, boolean z, boolean z2) { - int childCount; - TSNode child; - if (z) { - return findChildrenWithTypeReverse(str, z2); - } - ArrayList arrayList = new ArrayList(); - int i = 0; - while (true) { - if (z2) { - childCount = getNamedChildCount(); - } else { - childCount = getChildCount(); - } - if (i < childCount) { - if (z2) { - child = getNamedChild(i); - } else { - child = getChild(i); - } - if (!child.isNull() && Objects.equals(str, child.getType())) { - arrayList.add(child); - } - i++; - } else { - return arrayList; - } - } - } - - public List findChildrenWithTypeReverse(String str, boolean z) { - int childCount; - TSNode child; - ArrayList arrayList = new ArrayList(); - if (z) { - childCount = getNamedChildCount(); - } else { - childCount = getChildCount(); - } - for (int i = childCount - 1; i > 0; i--) { - if (z) { - child = getNamedChild(i); - } else { - child = getChild(i); - } - if (!child.isNull() && Objects.equals(str, child.getType())) { - arrayList.add(child); - } - } - return arrayList; - } - - public TSNode findNodeWithType(String str, boolean z) { - int childCount; - TSNode child; - int i = 0; - while (true) { - if (z) { - childCount = getNamedChildCount(); - } else { - childCount = getChildCount(); - } - if (i < childCount) { - if (z) { - child = getNamedChild(i); - } else { - child = getChild(i); - } - if (!child.isNull() && str.equals(child.getType())) { - return child; - } - i++; - } else { - return null; - } - } - } - - public TSNode getChild(int i) { - int childCount = getChildCount(); - if (i >= 0 && i < childCount) { - return getChildAt(i); - } - throw new IndexOutOfBoundsException(ByteString$BoundedByteString$$ExternalSyntheticOutline0.m("count=", childCount, ", index=", i)); - } - - public native TSNode getChildByFieldId(int i); - - public TSNode getChildByFieldName(String str) { - byte[] bytes = str.getBytes(StandardCharsets.UTF_8); - return getChildByFieldName(bytes, bytes.length); - } - - public native int getChildCount(); - - public native TSNode getDescendantForByteRange(int i, int i2); - - public native TSNode getDescendantForPointRange(TSPoint tSPoint, TSPoint tSPoint2); - - public native int getEndByte(); - - public native TSPoint getEndPoint(); - - public native String getFieldNameForChild(int i); - - public native TSNode getFirstChildForByte(int i); - - public native TSNode getFirstNamedChildForByte(int i); - - public TSNode getNamedChild(int i) { - int namedChildCount = getNamedChildCount(); - if (i >= 0 && i < namedChildCount) { - return getNamedChildAt(i); - } - throw new IndexOutOfBoundsException(ByteString$BoundedByteString$$ExternalSyntheticOutline0.m("count=", namedChildCount, ", index=", i)); - } - - public native int getNamedChildCount(); - - public native TSNode getNamedDescendantForByteRange(int i, int i2); - - public native TSNode getNamedDescendantForPointRange(TSPoint tSPoint, TSPoint tSPoint2); - - public native TSNode getNextNamedSibling(); - - public native TSNode getNextSibling(); - - public native String getNodeString(); - - public native TSNode getParent(); - - public native TSNode getPreviousNamedSibling(); - - public native TSNode getPreviousSibling(); - - public native int getStartByte(); - - public native TSPoint getStartPoint(); - - public native int getSymbol(); - - public TSTree getTree() { - if (this.mTree == null) { - this.mTree = new TSTree(this.tree); - } - return this.mTree; - } - - public native String getType(); - - public native boolean hasChanges(); - - public native boolean hasErrors(); - - public native boolean isEqualTo(TSNode tSNode); - - public native boolean isExtra(); - - public native boolean isMissing(); - - public native boolean isNamed(); - - public native boolean isNull(); - - public String toString() { - String type; - StringBuilder sb = new StringBuilder("TSNode{id="); - sb.append(this.id); - sb.append(", type="); - if (isNull()) { - type = ""; - } else { - type = getType(); - } - sb.append(type); - sb.append('}'); - return sb.toString(); - } - - public TSTreeCursor walk() { - return new TSTreeCursor(this); - } -} \ No newline at end of file diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json index fe52fbb7e..b565a9102 100644 --- a/app/release/output-metadata.json +++ b/app/release/output-metadata.json @@ -11,8 +11,8 @@ "type": "SINGLE", "filters": [], "attributes": [], - "versionCode": 213, - "versionName": "2.1.3-beta", + "versionCode": 214, + "versionName": "2.1.4-beta", "outputFile": "app-release.apk" } ], diff --git a/app/src/main/assets/data/common/tooling-api-all.jar b/app/src/main/assets/data/common/tooling-api-all.jar index 45658a8df29fd0a1f03ba21685310199c4d55290..ccb1eeddaa7c08f1b17db6e0a93bfc8c9587feeb 100644 GIT binary patch delta 84671 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 Q8%{G45*Z}N=f>szAI*(S-T(jq diff --git a/build-logic/ide/src/main/kotlin/config.kt b/build-logic/ide/src/main/kotlin/config.kt new file mode 100644 index 000000000..3220dc7b2 --- /dev/null +++ b/build-logic/ide/src/main/kotlin/config.kt @@ -0,0 +1,29 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * AndroidIDE is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with AndroidIDE. If not, see . + */ + +import org.gradle.api.Project +import java.io.File + +val KEY_ALIAS = "IDE_SIGNING_ALIAS" +val AUTH_PASS = "IDE_SIGNING_AUTH_PASS" +val AUTH_USER = "IDE_SIGNING_AUTH_USER" +val KEY_PASS = "IDE_SIGNING_KEY_PASS" +val KEY_STORE_PASS = "IDE_SIGNING_STORE_PASS" +val KEY_URL = "IDE_SIGNING_URL" + +val Project.signingKey: File + get() = rootProject.file("signing-key.jks") \ No newline at end of file diff --git a/changelogs/v2.1.4-beta.md b/changelogs/v2.1.4-beta.md index c20eaafc9..22a69a3a7 100644 --- a/changelogs/v2.1.4-beta.md +++ b/changelogs/v2.1.4-beta.md @@ -1,12 +1,12 @@ # **AndroidIDE v2.1.4-beta** -This release improves the UI Designer, adds support for custom custom color schemes in editor, uses tree sitter for syntax highlighting and much more. +This release improves the UI Designer, adds support for custom custom color schemes in editor and much more. ## Important notes - Enjoy an experience closer to your device with Dynamic colors support in AndroidIDE. This is enabled by default but can be disabled in IDE preferences. -- The IDE now has a light theme. The light/dark theme is automatically used based on your system theme. However, you can switch to other theme in IDE preferences. -- The IDE now supports custom color schemes for Java and XML languages. The color schemes can be customized by editing the files in `$HOME/.androidide/editor/schemes` folder. -- The UI designer has been rewritten from scratch. It now has better support to resource resolution, support for more views, undo/redo support, etc. +- The IDE now has a light theme. The light/dark themes are automatically switched based on your system theme. However, you can switch to other theme in IDE preferences. +- Support for custom editor color schemes has been added (only for Java and XML languages at the moment). The color schemes can be customized by editing the files in `$HOME/.androidide/editor/schemes` folder. +- The UI designer has been rewritten from scratch. It now has support for more views, undo/redo, better resource resolution, etc. ## Additions - Light IDE theme. @@ -14,6 +14,7 @@ This release improves the UI Designer, adds support for custom custom color sche - Support for custom color schemes. - Empty project template without AndroidX libraries. Thanks to @Rystars (#620). - Option to clone Git repository. Thanks to @Deenu143 (#632). +- The IDE now remembers the opened files and reopens them automatically when the project is reopened. ## Fixes @@ -22,10 +23,12 @@ The following issues has been fixed : - Activity is restarted when it is not focused during installation process (#628). - NPE when appending log lines (#605). - Editor is overlapped by SymbolInputView (#589). -- Crash in when clicking the `Preview layout` action and a non-XML file is opened (#666). +- Crash on clicking the `Preview layout` action if a non-XML file is opened (#666). - R.jar completions are not updated after resource updates. ## Improvements -- Replaced file tab actions' `quick action menu` with `PopupMenu`. +- Improved UI designer. Thanks to @deepkrg17 for view adapter implementations (#673, #680). +- Better handling of device configuration changes. +- Replaced file tab actions with `PopupMenu`. - Improved transitions for bottom bar in editor activity. - Updated translations. Thanks to all Crowdin contributors. \ No newline at end of file