Skip to content

Commit

Permalink
feat: add files
Browse files Browse the repository at this point in the history
  • Loading branch information
iamlooper committed Nov 29, 2023
1 parent 5ffdeca commit 1c072b0
Show file tree
Hide file tree
Showing 87 changed files with 1,800 additions and 0 deletions.
41 changes: 41 additions & 0 deletions .github/workflows/build_app_debug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Build App Debug

on:
workflow_dispatch:
pull_request:
push:

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: 17
distribution: "temurin"
cache: gradle

- name: Compile
run: |
chmod +x gradlew
./gradlew assembleDebug
- name: Sign Apk
uses: ilharp/sign-android-release@v1
id: sign_app
with:
releaseDir: app/build/outputs/apk/debug
signingKey: ${{ secrets.ANDROID_SIGNING_KEY }}
keyAlias: ${{ secrets.ANDROID_KEY_ALIAS }}
keyStorePassword: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
keyPassword: ${{ secrets.ANDROID_KEY_PASSWORD }}

- name: Upload Signed APK
uses: actions/upload-artifact@v3
with:
name: apk-debug
path: ${{steps.sign_app.outputs.signedFile}}
41 changes: 41 additions & 0 deletions .github/workflows/build_app_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Build App Release

on:
workflow_dispatch:
pull_request:
push:

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: 17
distribution: "temurin"
cache: gradle

- name: Compile
run: |
chmod +x gradlew
./gradlew assembleRelease
- name: Sign Apk
uses: ilharp/sign-android-release@v1
id: sign_app
with:
releaseDir: app/build/outputs/apk/release
signingKey: ${{ secrets.ANDROID_SIGNING_KEY }}
keyAlias: ${{ secrets.ANDROID_KEY_ALIAS }}
keyStorePassword: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
keyPassword: ${{ secrets.ANDROID_KEY_PASSWORD }}

- name: Upload Signed APK
uses: actions/upload-artifact@v3
with:
name: apk-release
path: ${{steps.sign_app.outputs.signedFile}}
86 changes: 86 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# AndroidIDE
.androidide/

# Built application files
*.apk
*.aar
*.ap_
*.aab

# Files for the ART/Dalvik VM
*.dex

# Java class files
*.class

# Generated files
/bin/
/gen/
/out/
# Uncomment the following line in case you need and you don't have the release build type files in your app
# Gradle files
.gradle/
/build/

# Local configuration file (sdk path, etc)
local.properties

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Android Studio Navigation editor temp files
.navigation/

# Android Studio captures folder
captures/

# IntelliJ
*.iml
.idea/workspace.xml
.idea/tasks.xml
.idea/gradle.xml
.idea/assetWizardSettings.xml
.idea/dictionaries
.idea/libraries
# Android Studio 3 in .gitignore file.
.idea/caches
.idea/modules.xml
# Comment next line if keeping position of elements in Navigation Editor is relevant for you
.idea/navEditor.xml

# Keystore files
# Uncomment the following lines if you do not want to check your keystore files in.
#*.jks
#*.keystore

# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild
.cxx/

# Google Services (e.g. APIs or Firebase)
# google-services.json

# Freeline
freeline.py
freeline/
freeline_project_description.json

# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/readme.md

# Version control
vcs.xml

# lint
lint/intermediates/
lint/generated/
lint/outputs/
lint/tmp/
# lint/reports/
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Android Enhancer App 🚀
Android app variant of Android Enhancer.

## Instructions 📜
- Install app & execute preferred tweaks.
- Wait for a few seconds to complete execution.
- Enjoy enhanced experience.

## Screenshots 📱
[<img src="https://github.com/iamlooper/Android-Enhancer/raw/app/app/screenshots/ss_01.png" width=140>](https://github.com/iamlooper/Android-Enhancer/raw/app/app/screenshots/ss_01.png)
[<img src="https://github.com/iamlooper/Android-Enhancer/raw/app/app/screenshots/ss_02.png" width=140>](https://github.com/iamlooper/Android-Enhancer/raw/app/app/screenshots/ss_02.png)
[<img src="https://github.com/iamlooper/Android-Enhancer/raw/app/app/screenshots/ss_03.png" width=140>](https://github.com/iamlooper/Android-Enhancer/raw/app/app/screenshots/ss_03.png)

## Licenses 📄
- [Kotlin](https://kotlinlang.org) (Apache 2.0)
- [AndroidX](https://developer.android.com/jetpack/androidx) (Apache 2.0)
- [Material components for Android](https://github.com/material-components/material-components-android) (Apache 2.0)
1 change: 1 addition & 0 deletions app/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
76 changes: 76 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
plugins {
id("com.android.application")
id("kotlin-android")
}

android {
namespace = "com.looper.android_enhancer"
compileSdk = 34

defaultConfig {
applicationId = "com.looper.android_enhancer"
minSdk = 27
targetSdk = 34
versionCode = 10
versionName = "1.1.0"
}

buildFeatures {
buildConfig = true
}

buildTypes {
getByName("release") {
// Enables code shrinking, obfuscation, and optimization.
isMinifyEnabled = true

// Enables resource shrinking.
isShrinkResources = true

// Includes the default ProGuard rules files.
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}

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

kotlinOptions {
jvmTarget = "17"
}

sourceSets {
getByName("main") {
// Specify the directories containing native libraries. (.so files)
jniLibs.srcDirs("src/main/jniLibs")
}
}

packaging {
jniLibs {
// Include compiled native libraries (.so) using legacy packaging.
useLegacyPackaging = true
}
}
}

dependencies {
implementation(libs.androidx.appcompat)
implementation(libs.androidx.core)
implementation(libs.androidx.constraintlayout)
implementation(libs.androidx.fragment)
implementation(libs.androidx.navigation.fragment)
implementation(libs.androidx.navigation.ui)
implementation(libs.androidx.preference)

implementation(libs.material)

implementation(libs.topjohnwu.libsu.core)

implementation(libs.looper.utils.android.support)
}
26 changes: 26 additions & 0 deletions app/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html

# 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 *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
-renamesourcefileattribute SourceFile

# Misc.
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-overloadaggressively
Binary file added app/screenshots/ss_01.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/screenshots/ss_02.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/screenshots/ss_03.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
53 changes: 53 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android">

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />

<application
android:name=".App"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:enableOnBackInvokedCallback="true"
android:theme="@style/Theme.App">
<activity
android:name=".activity.MainActivity"
android:launchMode="singleTask"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<receiver
android:name=".receiver.BootReceiver"
android:launchMode="singleTask"
android:directBootAware="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>

<service
android:name=".service.BootService"
android:launchMode="singleTask" />

<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>
</application>
</manifest>
28 changes: 28 additions & 0 deletions app/src/main/java/com/looper/android_enhancer/App.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package com.looper.android_enhancer

import android.app.Application

import com.topjohnwu.superuser.Shell

import com.google.android.material.color.DynamicColors

class App : Application() {

override fun onCreate() {
super.onCreate()

// Apply dynamic colors.
DynamicColors.applyToActivitiesIfAvailable(this)

// Check if the main shell is already cached.
if (Shell.getCachedShell() == null) {
// If not cached, configure settings for the main shell.
Shell.setDefaultBuilder(Shell.Builder.create()
.setTimeout(60)
)

// Preheat the main shell.
Shell.getShell()
}
}
}
Loading

0 comments on commit 1c072b0

Please sign in to comment.