diff --git a/app/build.gradle b/app/build.gradle index 9aaa11c..8fc2217 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -98,6 +98,7 @@ dependencies { implementation 'com.squareup.okhttp3:okhttp-dnsoverhttps:4.9.3' implementation 'com.squareup.okhttp3:okhttp-brotli:4.9.3' implementation 'com.github.topjohnwu.libsu:io:5.0.1' + implementation project(":rosetta") // Markdown implementation "io.noties.markwon:core:4.6.2" diff --git a/rosetta/.gitignore b/rosetta/.gitignore new file mode 100644 index 0000000..38cc34a --- /dev/null +++ b/rosetta/.gitignore @@ -0,0 +1,33 @@ + +# files for the dex VM +*.dex + +# Java class files +*.class + +# generated files +bin/ +gen/ + +# Local configuration file (sdk path, etc) +local.properties + +# Windows thumbnail db +Thumbs.db + +# OSX files +.DS_Store + +# Eclipse project files +.classpath +.project + +# Android Studio +*.iml +.idea +#.idea/workspace.xml - remove # and delete .idea if it better suit your needs. +.gradle +build/ + +#NDK +obj/ diff --git a/rosetta/build.gradle b/rosetta/build.gradle new file mode 100644 index 0000000..2b6362d --- /dev/null +++ b/rosetta/build.gradle @@ -0,0 +1,85 @@ +apply plugin: 'com.android.library' + +ext { + // Legal uses + groupIdBase = "com.ahmedjazzar.rosetta" + + POM_INCEPTION_YEAR = "2016" + POM_PACKAGING = "aar" + + POM_URL = "https://github.com/iamjazzar/rosetta" + POM_SCM_URL = "https://github.com/iamjazzar/rosetta" + POM_SCM_CONNECTION = "scm:git@github.com:iamjazzar/rosetta.git" + POM_SCM_DEV_CONNECTION = "scm:git@github.com:iamjazzar/rosetta.git" + + POM_LICENCE_NAME = "MIT License" + POM_LICENCE_URL = "https://github.com/iamjazzar/rosetta/blob/master/LICENSE" + POM_LICENCE_DIST = "repo" + + POM_DEVELOPER_ID = "ahmedaljazzar" + POM_DEVELOPER_NAME = "Ahmed Jazzar" + POM_DEVELOPER_URL = "https://github.com/iamjazzar" + + bintrayRepo = 'maven' + bintrayName = 'Rosetta' + + publishedGroupId = 'com.ahmedjazzar.rosetta' + libraryName = 'Rosetta' + artifact = 'rosetta' + + libraryDescription = 'Android library that lets your app supporting multiple languages ' + + 'without any concern from you as a developer.' + + siteUrl = 'https://github.com/ahmedaljazzar/rosetta' + gitUrl = 'https://github.com/ahmedaljazzar/rosetta.git' + + libraryVersion = '1.0.1' + + developerId = 'ahmedaljazzar' + developerName = 'Ahmed Jazzar' + developerEmail = 'me@ahmedjazzar.com' + + licenseName = 'MIT' + licenseUrl = 'https://opensource.org/licenses/MIT' + allLicenses = ["MIT"] +} + +buildscript { + repositories { + google() + mavenCentral() + gradlePluginPortal() + } + dependencies { + classpath 'com.android.tools.build:gradle:7.2.0' + classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4' + classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3' + } +} + +android { + compileSdkVersion 32 + buildToolsVersion "23.0.3" + + defaultConfig { + minSdkVersion 21 + targetSdkVersion 32 + versionCode 3 + versionName "1.0.1" + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + testImplementation 'junit:junit:4.13.2' + testImplementation 'org.mockito:mockito-core:1.10.19' + implementation 'com.google.android.material:material:1.6.0' + implementation 'androidx.appcompat:appcompat:1.4.1' +} diff --git a/rosetta/build/generated/source/buildConfig/debug/com/ahmedjazzar/rosetta/BuildConfig.java b/rosetta/build/generated/source/buildConfig/debug/com/ahmedjazzar/rosetta/BuildConfig.java new file mode 100644 index 0000000..cbf889e --- /dev/null +++ b/rosetta/build/generated/source/buildConfig/debug/com/ahmedjazzar/rosetta/BuildConfig.java @@ -0,0 +1,10 @@ +/** + * Automatically generated file. DO NOT MODIFY + */ +package com.ahmedjazzar.rosetta; + +public final class BuildConfig { + public static final boolean DEBUG = Boolean.parseBoolean("true"); + public static final String LIBRARY_PACKAGE_NAME = "com.ahmedjazzar.rosetta"; + public static final String BUILD_TYPE = "debug"; +} diff --git a/rosetta/proguard-rules.pro b/rosetta/proguard-rules.pro new file mode 100644 index 0000000..47b5a13 --- /dev/null +++ b/rosetta/proguard-rules.pro @@ -0,0 +1,17 @@ +# TODO: Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /Users/ahmedjazzar/Library/Android/sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/rosetta/src/main/AndroidManifest.xml b/rosetta/src/main/AndroidManifest.xml new file mode 100644 index 0000000..f1b2707 --- /dev/null +++ b/rosetta/src/main/AndroidManifest.xml @@ -0,0 +1,5 @@ + + + + diff --git a/app/src/main/java/com/ahmedjazzar/rosetta/LanguageSwitcher.java b/rosetta/src/main/java/com/ahmedjazzar/rosetta/LanguageSwitcher.java similarity index 100% rename from app/src/main/java/com/ahmedjazzar/rosetta/LanguageSwitcher.java rename to rosetta/src/main/java/com/ahmedjazzar/rosetta/LanguageSwitcher.java diff --git a/app/src/main/java/com/ahmedjazzar/rosetta/LanguagesListDialogFragment.java b/rosetta/src/main/java/com/ahmedjazzar/rosetta/LanguagesListDialogFragment.java similarity index 99% rename from app/src/main/java/com/ahmedjazzar/rosetta/LanguagesListDialogFragment.java rename to rosetta/src/main/java/com/ahmedjazzar/rosetta/LanguagesListDialogFragment.java index fdfe3a4..97991c3 100644 --- a/app/src/main/java/com/ahmedjazzar/rosetta/LanguagesListDialogFragment.java +++ b/rosetta/src/main/java/com/ahmedjazzar/rosetta/LanguagesListDialogFragment.java @@ -11,12 +11,10 @@ import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.DialogFragment; import androidx.fragment.app.FragmentActivity; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + import java.util.ArrayList; import java.util.Locale; -import java.util.Objects; - -import com.fox2code.mmm.R; -import com.google.android.material.dialog.MaterialAlertDialogBuilder; /** * This fragment is responsible for displaying the supported locales and performing any necessary diff --git a/app/src/main/java/com/ahmedjazzar/rosetta/LocalesDetector.java b/rosetta/src/main/java/com/ahmedjazzar/rosetta/LocalesDetector.java similarity index 100% rename from app/src/main/java/com/ahmedjazzar/rosetta/LocalesDetector.java rename to rosetta/src/main/java/com/ahmedjazzar/rosetta/LocalesDetector.java diff --git a/app/src/main/java/com/ahmedjazzar/rosetta/LocalesPreferenceManager.java b/rosetta/src/main/java/com/ahmedjazzar/rosetta/LocalesPreferenceManager.java similarity index 100% rename from app/src/main/java/com/ahmedjazzar/rosetta/LocalesPreferenceManager.java rename to rosetta/src/main/java/com/ahmedjazzar/rosetta/LocalesPreferenceManager.java diff --git a/app/src/main/java/com/ahmedjazzar/rosetta/LocalesUtils.java b/rosetta/src/main/java/com/ahmedjazzar/rosetta/LocalesUtils.java similarity index 100% rename from app/src/main/java/com/ahmedjazzar/rosetta/LocalesUtils.java rename to rosetta/src/main/java/com/ahmedjazzar/rosetta/LocalesUtils.java diff --git a/app/src/main/java/com/ahmedjazzar/rosetta/Logger.java b/rosetta/src/main/java/com/ahmedjazzar/rosetta/Logger.java similarity index 100% rename from app/src/main/java/com/ahmedjazzar/rosetta/Logger.java rename to rosetta/src/main/java/com/ahmedjazzar/rosetta/Logger.java diff --git a/rosetta/src/main/res/values/strings.xml b/rosetta/src/main/res/values/strings.xml new file mode 100644 index 0000000..e13140f --- /dev/null +++ b/rosetta/src/main/res/values/strings.xml @@ -0,0 +1,6 @@ + + + Language + Ok + Cancel + diff --git a/settings.gradle b/settings.gradle index 5c996dc..4fd643d 100644 --- a/settings.gradle +++ b/settings.gradle @@ -10,3 +10,4 @@ dependencyResolutionManagement { } rootProject.name = "MagiskModuleManager" include ':app' +include ':rosetta'