├── .gitignore ├── .idea ├── .gitignore ├── compiler.xml ├── gradle.xml ├── misc.xml ├── modules.xml ├── modules │ └── Daemon.iml └── vcs.xml ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── daemonLibrary │ │ └── demo │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── daemonLibrary │ │ │ └── demo │ │ │ ├── ActivityOne.kt │ │ │ ├── ActivityTow.kt │ │ │ ├── ForegroundNotifyUtils.java │ │ │ ├── MainActivity.kt │ │ │ ├── MainApp.kt │ │ │ ├── OnRemoveActivity.kt │ │ │ └── SystemBroadcastReceiver.kt │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ ├── ic_homee.png │ │ └── ic_launcher_background.xml │ │ ├── layout │ │ ├── activity_main.xml │ │ └── activity_on_remove.xml │ │ ├── menu │ │ └── menu_main.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── navigation │ │ └── nav_graph.xml │ │ ├── values-night │ │ └── themes.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── themes.xml │ └── test │ └── java │ └── com │ └── daemonLibrary │ └── demo │ └── ExampleUnitTest.kt ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── library ├── .gitignore ├── build.gradle ├── consumer-rules.pro ├── jni │ ├── Android.mk │ ├── Application.mk │ └── daemon.c ├── proguard-rules.pro └── src │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── daemon │ │ │ ├── BaseService.java │ │ │ ├── CoreService.java │ │ │ ├── DInstrumentation.java │ │ │ ├── Daemon.java │ │ │ ├── DaemonJobService.java │ │ │ ├── DaemonLog.java │ │ │ ├── DaemonService.java │ │ │ ├── IntentJobService.java │ │ │ ├── onepixel │ │ │ └── OnePixelActivity.java │ │ │ ├── process │ │ │ ├── Configs.java │ │ │ ├── Daemon.java │ │ │ ├── IProcess.java │ │ │ ├── NativeLoader.java │ │ │ └── ProcessImpl.java │ │ │ ├── receiver │ │ │ ├── DaemonStaticReceiver.java │ │ │ └── ScreenReceiver.java │ │ │ ├── utils │ │ │ ├── ActivityUtils.java │ │ │ ├── FileStorage.java │ │ │ ├── IntentUtils.java │ │ │ ├── ROMUtils.java │ │ │ └── ServiceUtils.java │ │ │ └── whitelist │ │ │ ├── IWhiteListCallback.java │ │ │ ├── IWhiteListProvider.java │ │ │ ├── IntentType.java │ │ │ ├── WhiteList.java │ │ │ ├── WhiteListIntentWrapper.java │ │ │ └── impl │ │ │ ├── DefaultWhiteListCallback.java │ │ │ └── DefaultWhiteListProvider.java │ └── res │ │ ├── drawable-anydpi-v24 │ │ └── ic_stat_name.xml │ │ ├── drawable-hdpi │ │ └── ic_stat_name.png │ │ ├── drawable-mdpi │ │ └── ic_stat_name.png │ │ ├── drawable-xhdpi │ │ └── ic_stat_name.png │ │ ├── drawable-xxhdpi │ │ └── ic_stat_name.png │ │ ├── raw │ │ └── no_notice.mp3 │ │ └── values │ │ └── strings.xml │ └── test │ └── java │ └── com │ └── daemon │ └── library │ └── ExampleUnitTest.java ├── readme.md └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | .gradle/ 2 | local.properties 3 | .idea/ -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 21 | 22 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.idea/modules/Daemon.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'com.android.application' 3 | id 'kotlin-android' 4 | } 5 | 6 | android { 7 | compileSdkVersion 30 8 | buildToolsVersion "30.0.2" 9 | 10 | defaultConfig { 11 | applicationId "com.daemonLibrary.demo" 12 | minSdkVersion 21 13 | targetSdkVersion 25 14 | versionCode 1 15 | versionName "1.0" 16 | 17 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 18 | } 19 | 20 | buildTypes { 21 | release { 22 | minifyEnabled false 23 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 24 | } 25 | } 26 | compileOptions { 27 | sourceCompatibility JavaVersion.VERSION_1_8 28 | targetCompatibility JavaVersion.VERSION_1_8 29 | } 30 | kotlinOptions { 31 | jvmTarget = '1.8' 32 | } 33 | } 34 | 35 | dependencies { 36 | 37 | implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" 38 | implementation 'androidx.core:core-ktx:1.3.2' 39 | implementation 'androidx.appcompat:appcompat:1.2.0' 40 | implementation 'com.google.android.material:material:1.2.1' 41 | implementation 'androidx.constraintlayout:constraintlayout:2.0.4' 42 | implementation 'androidx.navigation:navigation-fragment-ktx:2.2.2' 43 | implementation 'androidx.navigation:navigation-ui-ktx:2.2.2' 44 | implementation project(path: ':library') 45 | testImplementation 'junit:junit:4.+' 46 | androidTestImplementation 'androidx.test.ext:junit:1.1.1' 47 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' 48 | implementation "org.jetbrains.anko:anko:$anko_version" 49 | } -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /app/src/androidTest/java/com/daemonLibrary/demo/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- 1 | package com.daemonLibrary.demo 2 | 3 | import androidx.test.platform.app.InstrumentationRegistry 4 | import androidx.test.ext.junit.runners.AndroidJUnit4 5 | 6 | import org.junit.Test 7 | import org.junit.runner.RunWith 8 | 9 | import org.junit.Assert.* 10 | 11 | /** 12 | * Instrumented test, which will execute on an Android device. 13 | * 14 | * See [testing documentation](http://d.android.com/tools/testing). 15 | */ 16 | @RunWith(AndroidJUnit4::class) 17 | class ExampleInstrumentedTest { 18 | @Test 19 | fun useAppContext() { 20 | // Context of the app under test. 21 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext 22 | assertEquals("com.daemonLibrary.demo", appContext.packageName) 23 | } 24 | } -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 13 | 14 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 42 | 43 | 44 | 45 | 46 | 48 | 49 | 51 | 52 | 53 | 54 | 55 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /app/src/main/java/com/daemonLibrary/demo/ActivityOne.kt: -------------------------------------------------------------------------------- 1 | package com.daemonLibrary.demo 2 | 3 | import androidx.appcompat.app.AppCompatActivity 4 | 5 | class ActivityOne: AppCompatActivity() { 6 | } -------------------------------------------------------------------------------- /app/src/main/java/com/daemonLibrary/demo/ActivityTow.kt: -------------------------------------------------------------------------------- 1 | package com.daemonLibrary.demo 2 | 3 | import androidx.appcompat.app.AppCompatActivity 4 | 5 | class ActivityTow: AppCompatActivity() { 6 | } -------------------------------------------------------------------------------- /app/src/main/java/com/daemonLibrary/demo/ForegroundNotifyUtils.java: -------------------------------------------------------------------------------- 1 | package com.daemonLibrary.demo; 2 | 3 | 4 | import android.app.Notification; 5 | import android.app.NotificationChannel; 6 | import android.app.NotificationManager; 7 | import android.content.Context; 8 | import android.graphics.BitmapFactory; 9 | import android.graphics.Color; 10 | import android.os.Build; 11 | 12 | public class ForegroundNotifyUtils { 13 | private static final String CHANNEL_ID = "BCD41FB3-2EE7-4781-8917-7B8D8DB355DC"; 14 | public static Notification getForegroundNotification(Context context,String title,String text){ 15 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { 16 | NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 17 | NotificationChannel Channel = new NotificationChannel(CHANNEL_ID, "可关闭通知", NotificationManager.IMPORTANCE_DEFAULT); 18 | Channel.enableLights(true); 19 | Channel.setLightColor(Color.GREEN); 20 | Channel.setShowBadge(true); 21 | Channel.setDescription(""); 22 | Channel.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC); 23 | Channel.enableVibration(false); 24 | Channel.setSound(null, null); 25 | manager.createNotificationChannel(Channel); 26 | 27 | Notification notification = new Notification.Builder(context, CHANNEL_ID) 28 | .setContentTitle(title) 29 | .setContentText(text) 30 | .setWhen(System.currentTimeMillis()) 31 | .setSmallIcon(R.drawable.ic_launcher_foreground) 32 | .setLargeIcon(BitmapFactory.decodeResource(context.getResources(),R.drawable.ic_launcher_foreground)) 33 | .build(); 34 | return notification; 35 | } else { 36 | Notification notification = new Notification.Builder(context) 37 | .setContentTitle(title)//设置标题 38 | .setContentText(text)//设置内容 39 | .setWhen(System.currentTimeMillis())//设置创建时间 40 | .build(); 41 | return notification; 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /app/src/main/java/com/daemonLibrary/demo/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.daemonLibrary.demo 2 | 3 | import android.content.Intent 4 | import android.net.Uri 5 | import android.os.Build 6 | import android.os.Bundle 7 | import android.provider.Settings 8 | import androidx.annotation.RequiresApi 9 | import androidx.appcompat.app.AppCompatActivity 10 | 11 | 12 | class MainActivity : AppCompatActivity() { 13 | 14 | override fun onCreate(savedInstanceState: Bundle?) { 15 | super.onCreate(savedInstanceState) 16 | setContentView(R.layout.activity_main) 17 | if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) { 18 | if (!Settings.canDrawOverlays(this)) { 19 | val intent: Intent = Intent( 20 | Settings.ACTION_MANAGE_OVERLAY_PERMISSION, 21 | Uri.parse("package:" + getPackageName()) 22 | ) 23 | startActivityForResult(intent, 10) 24 | } 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /app/src/main/java/com/daemonLibrary/demo/MainApp.kt: -------------------------------------------------------------------------------- 1 | package com.daemonLibrary.demo 2 | 3 | import android.annotation.TargetApi 4 | import android.app.Application 5 | import android.app.Notification 6 | import android.app.NotificationChannel 7 | import android.app.NotificationManager 8 | import android.content.Context 9 | import android.content.Intent 10 | import android.content.IntentFilter 11 | import android.graphics.BitmapFactory 12 | import android.os.Build 13 | import android.util.Log 14 | import androidx.core.app.NotificationCompat 15 | import androidx.core.app.NotificationManagerCompat 16 | import com.daemon.Daemon 17 | 18 | class DaemonConfigurationImplement(val context: Context): Daemon.DaemonConfiguration{ 19 | @TargetApi(26) 20 | fun getIntentChannelId(context: Context): String { 21 | val from: NotificationManagerCompat = NotificationManagerCompat.from(context) 22 | val notificationChannel = NotificationChannel("com.daemon.lockscreen.brandnew", "com.daemon.lockscreen.brandnew", NotificationManager.IMPORTANCE_HIGH) 23 | notificationChannel.enableLights(false) 24 | notificationChannel.setShowBadge(false) 25 | notificationChannel.enableVibration(false) 26 | notificationChannel.setSound(null, null) 27 | from.createNotificationChannel(notificationChannel) 28 | return notificationChannel.getId() 29 | } 30 | 31 | override fun getIntentNotificationBuilder(context: Context): NotificationCompat.Builder? { 32 | val builder = if (Build.VERSION.SDK_INT >= 26) { 33 | NotificationCompat.Builder( 34 | context, 35 | getIntentChannelId(context)!! 36 | ) 37 | } else { 38 | NotificationCompat.Builder(context) 39 | } 40 | builder.setContentTitle("手机优化中") 41 | builder.setContentText("正在优化您的手机") 42 | builder.setSmallIcon(R.drawable.ic_homee) 43 | builder.setLargeIcon(BitmapFactory.decodeResource(context.resources, R.drawable.ic_homee)) 44 | builder.setAutoCancel(true) 45 | builder.setDefaults(4) 46 | builder.priority = -1 47 | return builder 48 | } 49 | override fun getForegroundNotification(): Notification? { 50 | return null; 51 | //return ForegroundNotifyUtils.getForegroundNotification(context, "", "Service is running") 52 | } 53 | 54 | override fun isMusicPlayEnabled(): Boolean { 55 | return true 56 | } 57 | 58 | override fun isOnePixelActivityEnabled(): Boolean { 59 | return true 60 | } 61 | 62 | } 63 | 64 | class DaemonCallbackImplement:Daemon.DaemonCallback{ 65 | override fun onStart() { 66 | Log.d("DEOM", "onStart") 67 | } 68 | 69 | override fun onStop() { 70 | Log.d("DEOM", "onStop") 71 | } 72 | } 73 | 74 | class MainApp:Application() { 75 | override fun onCreate() { 76 | super.onCreate() 77 | if (Daemon.isMainProcess(this)){ 78 | var flt = IntentFilter() 79 | flt.addAction (Intent.ACTION_PACKAGE_REMOVED) 80 | flt.addAction(Intent.ACTION_PACKAGE_ADDED) 81 | flt.addAction(Intent.ACTION_PACKAGE_CHANGED) 82 | flt.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS) 83 | flt.addDataScheme("package") 84 | registerReceiver(SystemBroadcastReceiver(), flt) 85 | //DaemonLog.d("register Package notify") 86 | } 87 | } 88 | override fun attachBaseContext(base: Context?) { 89 | super.attachBaseContext(base) 90 | //DaemonLog.d("Application onCrearte") 91 | Daemon.startWork(this, DaemonConfigurationImplement(this), DaemonCallbackImplement()) 92 | } 93 | } -------------------------------------------------------------------------------- /app/src/main/java/com/daemonLibrary/demo/OnRemoveActivity.kt: -------------------------------------------------------------------------------- 1 | package com.daemonLibrary.demo 2 | 3 | import android.app.ActivityManager 4 | import android.content.Context 5 | import androidx.appcompat.app.AppCompatActivity 6 | import android.os.Bundle 7 | import com.daemon.utils.ActivityUtils 8 | 9 | class OnRemoveActivity : AppCompatActivity() { 10 | 11 | override fun onCreate(savedInstanceState: Bundle?) { 12 | super.onCreate(savedInstanceState) 13 | setContentView(R.layout.activity_on_remove) 14 | } 15 | } -------------------------------------------------------------------------------- /app/src/main/java/com/daemonLibrary/demo/SystemBroadcastReceiver.kt: -------------------------------------------------------------------------------- 1 | package com.daemonLibrary.demo 2 | 3 | import android.content.BroadcastReceiver 4 | import android.content.Context 5 | import android.content.Intent 6 | import android.os.Build 7 | import com.daemon.Daemon 8 | class SystemBroadcastReceiver :BroadcastReceiver(){ 9 | private fun startActivity(context: Context,intent: Intent){ 10 | intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION) 11 | if (Build.VERSION.SDK_INT <21){ 12 | intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND) 13 | context.startActivity(intent) 14 | return 15 | } 16 | intent.addCategory("android.intent.category.LAUNCHER") 17 | intent.action = "android.intent.action.MAIN" 18 | intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND) 19 | Daemon.startActivity(context,intent) 20 | } 21 | override fun onReceive(p0: Context?, p1: Intent?) { 22 | if (p1== null){ 23 | return 24 | } 25 | when (p1.action){ 26 | Intent.ACTION_PACKAGE_ADDED,Intent.ACTION_PACKAGE_REMOVED->{ 27 | startActivity(Daemon.getApplication(), Intent(Daemon.getApplication(),OnRemoveActivity::class.java)) 28 | } 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 15 | 18 | 21 | 22 | 23 | 24 | 30 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_homee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Clivebi/Daemon/00c4d19625606bd85a8077b1550f89daf794e532/app/src/main/res/drawable/ic_homee.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | 50 | 55 | 60 | 65 | 70 | 75 | 80 | 85 | 90 | 95 | 100 | 105 | 110 | 115 | 120 | 125 | 130 | 135 | 140 | 145 | 150 | 155 | 160 | 165 | 170 | 171 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_on_remove.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_main.xml: -------------------------------------------------------------------------------- 1 | 5 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Clivebi/Daemon/00c4d19625606bd85a8077b1550f89daf794e532/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Clivebi/Daemon/00c4d19625606bd85a8077b1550f89daf794e532/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Clivebi/Daemon/00c4d19625606bd85a8077b1550f89daf794e532/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Clivebi/Daemon/00c4d19625606bd85a8077b1550f89daf794e532/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Clivebi/Daemon/00c4d19625606bd85a8077b1550f89daf794e532/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Clivebi/Daemon/00c4d19625606bd85a8077b1550f89daf794e532/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Clivebi/Daemon/00c4d19625606bd85a8077b1550f89daf794e532/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Clivebi/Daemon/00c4d19625606bd85a8077b1550f89daf794e532/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Clivebi/Daemon/00c4d19625606bd85a8077b1550f89daf794e532/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Clivebi/Daemon/00c4d19625606bd85a8077b1550f89daf794e532/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/navigation/nav_graph.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | 14 | 17 | 18 | 23 | 24 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/values-night/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 16dp 3 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | My Application 3 | Settings 4 | 5 | First Fragment 6 | Second Fragment 7 | Next 8 | Previous 9 | 10 | Hello first fragment 11 | Hello second fragment. Arg: %1$s 12 | -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | 17 | 21 | 22 |