Skip to content
Merged
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
107 changes: 0 additions & 107 deletions app/build.gradle

This file was deleted.

107 changes: 107 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("org.jetbrains.kotlin.kapt")
}

android {
namespace = "me.sheimi.sgit"
compileSdk = 36

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

kotlinOptions {
jvmTarget = "1.8"
}

defaultConfig {
applicationId = "com.manichord.mgit"
minSdk = 21
targetSdk = 36

vectorDrawables.useSupportLibrary = true

versionCode = 240
versionName = "1.7.0"
}

buildFeatures {
dataBinding = true
buildConfig = true
}

lint {
abortOnError = false
}

signingConfigs {
create("release") {
if (project.hasProperty("special")) {
keyAlias = project.property("alias") as String
keyPassword = project.property("password") as String
storeFile = file(project.property("keystore") as String)
storePassword = project.property("password") as String
} else {
keyAlias = ""
keyPassword = ""
storeFile = file("/empty")
storePassword = ""
}
}
}

buildTypes {
getByName("release") {
signingConfig = signingConfigs.getByName("release")
}
}
}

configurations.all {
resolutionStrategy.eachDependency {
if (requested.group == "com.jcraft" && requested.name == "jsch") {
useTarget("com.github.mwiede:jsch:0.2.0")
}
}
exclude(group = "org.apache.httpcomponents", module = "httpclient")
}

dependencies {
val acraVersion = "5.8.4"

implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
implementation("androidx.fragment:fragment:1.4.0")
implementation("androidx.annotation:annotation:1.3.0")
implementation("androidx.appcompat:appcompat:1.4.0")
implementation("com.google.android.material:material:1.4.0")
implementation("androidx.recyclerview:recyclerview:1.2.1")
implementation("androidx.vectordrawable:vectordrawable:1.1.0")
implementation("androidx.constraintlayout:constraintlayout:2.1.2")

// ViewModel and LiveData
implementation("androidx.lifecycle:lifecycle-extensions:2.2.0")
kapt("androidx.lifecycle:lifecycle-compiler:2.4.0")

implementation("com.jakewharton.timber:timber:4.5.1")
implementation("com.github.mwiede:jsch:0.2.0")
implementation("commons-io:commons-io:2.5")
implementation("org.eclipse.jgit:org.eclipse.jgit:3.7.1.201504261725-r")
implementation("com.nostra13.universalimageloader:universal-image-loader:1.9.5")
implementation("com.scottyab:secure-preferences-lib:0.1.7")
// 2.6.0+ ships 16 KB page-aligned native libs (built with NDK r27, minSdk 21).
// Older versions (<= 2.5.x) have 4 KB LOAD alignment and fail Play's 16 KB check.
implementation("org.conscrypt:conscrypt-android:2.7.0")
implementation("org.bouncycastle:bcprov-jdk15on:1.70")

implementation("ch.acra:acra-mail:$acraVersion")
implementation("ch.acra:acra-dialog:$acraVersion")

debugImplementation("com.facebook.stetho:stetho:1.5.0")
debugImplementation("com.facebook.stetho:stetho-timber:1.5.0")
testImplementation("junit:junit:4.12")
testImplementation("org.robolectric:robolectric:3.5")
testImplementation("org.robolectric:shadows-support-v4:3.4-rc2")
}
5 changes: 3 additions & 2 deletions app/src/main/java/com/manichord/mgit/dialogs/ErrorDialog.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import android.app.Dialog
import android.os.Bundle
import androidx.annotation.StringRes
import android.widget.Button
import kotlinx.android.synthetic.main.dialog_error.view.*
import android.widget.TextView
import me.sheimi.android.views.SheimiDialogFragment
import me.sheimi.sgit.BuildConfig
import me.sheimi.sgit.R
Expand All @@ -32,7 +32,8 @@ class ErrorDialog : SheimiDialogFragment() {
}
else -> ""
}
layout.error_message.setText(getString(mErrorRes) + "\n" + details)
val errorMessage = layout.findViewById<TextView>(R.id.error_message)
errorMessage.text = getString(mErrorRes) + "\n" + details

builder.setView(layout)

Expand Down
26 changes: 13 additions & 13 deletions app/src/main/java/com/manichord/mgit/repolist/RepoListActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -158,19 +158,19 @@ public boolean onCreateOptionsMenu(Menu menu) {
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Intent intent;
switch (item.getItemId()) {
case R.id.action_new:
showCloneView();
return true;
case R.id.action_import_repo:
intent = new Intent(this, ImportRepositoryActivity.class);
startActivityForResult(intent, REQUEST_IMPORT_REPO);
forwardTransition();
return true;
case R.id.action_settings:
intent = new Intent(this, UserSettingsActivity.class);
startActivity(intent);
return true;
int itemId = item.getItemId();
if (itemId == R.id.action_new) {
showCloneView();
return true;
} else if (itemId == R.id.action_import_repo) {
intent = new Intent(this, ImportRepositoryActivity.class);
startActivityForResult(intent, REQUEST_IMPORT_REPO);
forwardTransition();
return true;
} else if (itemId == R.id.action_settings) {
intent = new Intent(this, UserSettingsActivity.class);
startActivity(intent);
return true;
}
return super.onOptionsItemSelected(item);
}
Expand Down
28 changes: 0 additions & 28 deletions build.gradle

This file was deleted.

22 changes: 22 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
buildscript {
val kotlin_version = "2.2.10"
repositories {
google()
mavenCentral()
}
dependencies {
classpath("com.android.tools.build:gradle:9.0.1")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version")
}
}

allprojects {
repositories {
google()
mavenCentral()
}
}

tasks.register<Delete>("clean") {
delete(rootProject.layout.buildDirectory)
}
15 changes: 15 additions & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
android.enableJetifier=true
# AGP 8+ generates R fields as non-final by default, which breaks
# "case R.id.xxx:" labels in switch statements (constant expression required).
# Keep them final so the existing Java sources compile unchanged.
android.nonFinalResIds=false
android.useAndroidX=true
android.jetifier.ignorelist=shadows-support-v4-3.4-rc2.jar
org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=512m
android.defaults.buildfeatures.resvalues=true
android.sdk.defaultTargetSdkToCompileSdkIfUnset=false
android.enableAppCompileTimeRClass=false
android.usesSdkInManifest.disallowed=false
android.uniquePackageNames=false
android.dependency.useConstraints=true
android.r8.strictFullModeForKeepRules=false
android.r8.optimizedResourceShrinking=false
android.builtInKotlin=false
android.newDsl=false
3 changes: 2 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#Mon Sep 14 16:48:41 AEST 2026
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
1 change: 0 additions & 1 deletion settings.gradle

This file was deleted.

1 change: 1 addition & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include(":app")
Loading