Skip to content

Commit d5e5671

Browse files
authored
Merge pull request #102 from Raival-e/tasks-refactor
Tasks refactor
2 parents 70557d2 + 5e47715 commit d5e5671

File tree

176 files changed

+15705
-6912
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

176 files changed

+15705
-6912
lines changed

app/build.gradle.kts

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -44,50 +44,59 @@ android {
4444
}
4545
}
4646

47-
composeCompiler {
48-
enableStrongSkippingMode = true
49-
}
50-
5147
dependencies {
52-
implementation(libs.androidx.profileinstaller)
5348
"baselineProfile"(project(":baselineprofile"))
49+
implementation(libs.androidx.profileinstaller)
5450
coreLibraryDesugaring(libs.desugar.jdk.libs)
5551

56-
implementation(libs.androidx.core.ktx)
57-
implementation(libs.androidx.lifecycle.runtime.ktx)
52+
// Local/File-based dependencies
53+
implementation(files("libs/APKEditor.jar"))
54+
55+
// AndroidX - Core & Lifecycle
56+
implementation(libs.androidx.activity.compose)
5857
implementation(libs.androidx.appcompat)
58+
implementation(libs.androidx.core.ktx)
5959
implementation(libs.androidx.lifecycle.runtime.compose.android)
60-
implementation(libs.androidx.activity.compose)
60+
implementation(libs.androidx.lifecycle.runtime.ktx)
6161
implementation(libs.material)
6262

63+
// Jetpack Compose
6364
implementation(platform(libs.androidx.compose.bom))
6465
implementation(libs.androidx.compose.foundation)
65-
implementation(libs.androidx.compose.material3)
6666
implementation(libs.androidx.compose.icons.extended)
67+
implementation(libs.androidx.compose.material3)
68+
implementation(libs.androidx.ui.tooling.preview.android)
6769

70+
// Other Jetpack & Android Libraries
71+
implementation(libs.androidx.datastore)
72+
implementation(libs.androidx.media3.exoplayer)
73+
implementation(libs.androidx.media3.ui)
74+
implementation(libs.androidx.palette.ktx)
75+
76+
// Sora Code Editor
6877
implementation(libs.sora.editor)
6978
implementation(libs.sora.editor.language.java)
7079
implementation(libs.sora.editor.language.textmate)
7180

81+
// Image Loading - Coil
7282
implementation(libs.coil.compose)
7383
implementation(libs.coil.gif)
7484
implementation(libs.coil.svg)
7585
implementation(libs.coil.video)
7686

77-
implementation(libs.gson)
78-
implementation(libs.androidx.datastore)
79-
87+
// Third-Party UI/Compose Utilities
88+
implementation(libs.accompanist.systemuicontroller)
8089
implementation(libs.cascade.compose)
8190
implementation(libs.compose.swipebox)
82-
implementation(libs.reorderable)
83-
implementation(libs.storage)
8491
implementation(libs.grid)
8592
implementation(libs.lazycolumnscrollbar)
93+
implementation(libs.reorderable)
8694
implementation(libs.zoomable)
87-
implementation(libs.androidx.media3.exoplayer)
88-
implementation(libs.androidx.media3.ui)
8995

90-
// APKEditor
91-
implementation(files("libs/APKEditor.jar"))
96+
// Third-Party General Utilities
9297
implementation(libs.apksig)
98+
implementation(libs.commons.net)
99+
implementation(libs.gson)
100+
implementation(libs.storage)
101+
implementation(libs.zip4j)
93102
}

app/src/main/AndroidManifest.xml

Lines changed: 59 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,17 @@
33
xmlns:tools="http://schemas.android.com/tools">
44
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
55
tools:ignore="ScopedStorage" />
6+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
7+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
8+
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
69
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
710
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
811
<uses-permission
912
android:name="android.permission.QUERY_ALL_PACKAGES"
1013
tools:ignore="QueryAllPackagesPermission" />
1114
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" tools:node="remove"/>
15+
<uses-permission android:name="android.permission.INTERNET" />
16+
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
1217

1318
<uses-feature
1419
android:glEsVersion="0x00020000"
@@ -23,6 +28,7 @@
2328
android:icon="@mipmap/ic_launcher"
2429
android:label="@string/app_name"
2530
android:supportsRtl="true"
31+
android:networkSecurityConfig="@xml/network_security_config"
2632
android:requestLegacyExternalStorage="true"
2733
android:theme="@style/Theme.FileExplorer"
2834
tools:targetApi="34" >
@@ -58,6 +64,26 @@
5864
</intent-filter>
5965
</activity>
6066

67+
<activity
68+
android:name=".screen.viewer.text.TextViewerActivity"
69+
android:exported="true"
70+
android:label="@string/text_viewer"
71+
android:theme="@style/Theme.FileExplorer"
72+
android:windowSoftInputMode="adjustResize"
73+
android:documentLaunchMode="intoExisting"
74+
android:autoRemoveFromRecents="true">
75+
<intent-filter>
76+
<action android:name="android.intent.action.VIEW" />
77+
78+
<category android:name="android.intent.category.DEFAULT" />
79+
<category android:name="android.intent.category.BROWSABLE" />
80+
81+
<data android:mimeType="text/*" />
82+
<data android:scheme="file" />
83+
<data android:scheme="content" />
84+
</intent-filter>
85+
</activity>
86+
6187
<activity
6288
android:name=".screen.viewer.image.ImageViewerActivity"
6389
android:exported="true"
@@ -77,9 +103,9 @@
77103
</activity>
78104

79105
<activity
80-
android:name=".screen.viewer.media.MediaViewerActivity"
106+
android:name=".screen.viewer.audio.AudioPlayerActivity"
81107
android:exported="true"
82-
android:label="@string/title_activity_media_viewer"
108+
android:label="@string/title_activity_audio_player"
83109
android:theme="@style/Theme.FileExplorer"
84110
android:windowSoftInputMode="adjustResize"
85111
android:documentLaunchMode="intoExisting"
@@ -88,25 +114,54 @@
88114
<action android:name="android.intent.action.VIEW" />
89115
<category android:name="android.intent.category.DEFAULT" />
90116
<category android:name="android.intent.category.BROWSABLE" />
91-
<data android:mimeType="video/*"/>
92117
<data android:mimeType="audio/*"/>
93118
<data android:scheme="file"/>
94119
<data android:scheme="content"/>
95120
</intent-filter>
96121
</activity>
97122

123+
<activity
124+
android:name=".screen.viewer.video.VideoPlayerActivity"
125+
android:exported="true"
126+
android:label="@string/title_activity_audio_player"
127+
android:theme="@style/Theme.FileExplorer"
128+
android:windowSoftInputMode="adjustResize"
129+
android:documentLaunchMode="intoExisting"
130+
android:autoRemoveFromRecents="true">
131+
<intent-filter>
132+
<action android:name="android.intent.action.VIEW" />
133+
134+
<category android:name="android.intent.category.DEFAULT" />
135+
<category android:name="android.intent.category.BROWSABLE" />
136+
137+
<data android:mimeType="video/*" />
138+
<data android:scheme="file" />
139+
<data android:scheme="content" />
140+
</intent-filter>
141+
</activity>
142+
143+
<activity
144+
android:name=".screen.logs.LogsActivity"
145+
android:exported="false"
146+
android:label="@string/title_activity_logs"
147+
android:theme="@style/Theme.FileExplorer"
148+
android:windowSoftInputMode="adjustResize" />
149+
98150
<activity
99151
android:name=".screen.main.MainActivity"
100152
android:exported="true"
101153
android:theme="@style/Theme.FileExplorer"
102154
android:windowSoftInputMode="adjustResize">
103155
<intent-filter>
104156
<action android:name="android.intent.action.MAIN" />
105-
106157
<category android:name="android.intent.category.LAUNCHER" />
107158
</intent-filter>
108159
</activity>
109160

161+
<service
162+
android:name=".screen.main.tab.files.service.ContentOperationService"
163+
android:foregroundServiceType="dataSync" />
164+
110165
<provider
111166
android:name="androidx.core.content.FileProvider"
112167
android:authorities="com.raival.compose.file.explorer.provider"

app/src/main/baseline-prof.txt

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1161,7 +1161,7 @@ HSPLandroidx/compose/animation/core/Animatable;-><init>(Ljava/lang/Object;Landro
11611161
HSPLandroidx/compose/animation/core/Animatable;-><init>(Ljava/lang/Object;Landroidx/compose/animation/core/TwoWayConverter;Ljava/lang/Object;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
11621162
HSPLandroidx/compose/animation/core/Animatable;->access$clampToBounds(Landroidx/compose/animation/core/Animatable;Ljava/lang/Object;)Ljava/lang/Object;
11631163
HSPLandroidx/compose/animation/core/Animatable;->access$endAnimation(Landroidx/compose/animation/core/Animatable;)V
1164-
HSPLandroidx/compose/animation/core/Animatable;->access$setRunning(Landroidx/compose/animation/core/Animatable;Z)V
1164+
HSPLandroidx/compose/animation/core/Animatable;->access$setShowDialog(Landroidx/compose/animation/core/Animatable;Z)V
11651165
HSPLandroidx/compose/animation/core/Animatable;->access$setTargetValue(Landroidx/compose/animation/core/Animatable;Ljava/lang/Object;)V
11661166
HSPLandroidx/compose/animation/core/Animatable;->asState()Landroidx/compose/runtime/State;
11671167
HSPLandroidx/compose/animation/core/Animatable;->clampToBounds(Ljava/lang/Object;)Ljava/lang/Object;
@@ -1172,7 +1172,7 @@ HSPLandroidx/compose/animation/core/Animatable;->getTypeConverter()Landroidx/com
11721172
HSPLandroidx/compose/animation/core/Animatable;->getValue()Ljava/lang/Object;
11731173
HSPLandroidx/compose/animation/core/Animatable;->getVelocityVector()Landroidx/compose/animation/core/AnimationVector;
11741174
HSPLandroidx/compose/animation/core/Animatable;->runAnimation(Landroidx/compose/animation/core/Animation;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
1175-
HSPLandroidx/compose/animation/core/Animatable;->setRunning(Z)V
1175+
HSPLandroidx/compose/animation/core/Animatable;->setShowDialog(Z)V
11761176
HSPLandroidx/compose/animation/core/Animatable;->setTargetValue(Ljava/lang/Object;)V
11771177
Landroidx/compose/animation/core/Animatable$runAnimation$2;
11781178
HSPLandroidx/compose/animation/core/Animatable$runAnimation$2;-><init>(Landroidx/compose/animation/core/Animatable;Ljava/lang/Object;Landroidx/compose/animation/core/Animation;JLkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)V
@@ -1227,10 +1227,10 @@ HSPLandroidx/compose/animation/core/AnimationScope;->getLastFrameTimeNanos()J
12271227
HSPLandroidx/compose/animation/core/AnimationScope;->getStartTimeNanos()J
12281228
HSPLandroidx/compose/animation/core/AnimationScope;->getValue()Ljava/lang/Object;
12291229
HSPLandroidx/compose/animation/core/AnimationScope;->getVelocityVector()Landroidx/compose/animation/core/AnimationVector;
1230-
HSPLandroidx/compose/animation/core/AnimationScope;->isRunning()Z
1230+
HSPLandroidx/compose/animation/core/AnimationScope;->getShowDialog()Z
12311231
HSPLandroidx/compose/animation/core/AnimationScope;->setFinishedTimeNanos$animation_core_release(J)V
12321232
HSPLandroidx/compose/animation/core/AnimationScope;->setLastFrameTimeNanos$animation_core_release(J)V
1233-
HSPLandroidx/compose/animation/core/AnimationScope;->setRunning$animation_core_release(Z)V
1233+
HSPLandroidx/compose/animation/core/AnimationScope;->setShowDialog$animation_core_release(Z)V
12341234
HSPLandroidx/compose/animation/core/AnimationScope;->setValue$animation_core_release(Ljava/lang/Object;)V
12351235
HSPLandroidx/compose/animation/core/AnimationScope;->setVelocityVector$animation_core_release(Landroidx/compose/animation/core/AnimationVector;)V
12361236
Landroidx/compose/animation/core/AnimationSpec;
@@ -1257,10 +1257,10 @@ HSPLandroidx/compose/animation/core/AnimationState;->getLastFrameTimeNanos()J
12571257
HSPLandroidx/compose/animation/core/AnimationState;->getTypeConverter()Landroidx/compose/animation/core/TwoWayConverter;
12581258
HSPLandroidx/compose/animation/core/AnimationState;->getValue()Ljava/lang/Object;
12591259
HSPLandroidx/compose/animation/core/AnimationState;->getVelocityVector()Landroidx/compose/animation/core/AnimationVector;
1260-
HSPLandroidx/compose/animation/core/AnimationState;->isRunning()Z
1260+
HSPLandroidx/compose/animation/core/AnimationState;->getShowDialog()Z
12611261
HSPLandroidx/compose/animation/core/AnimationState;->setFinishedTimeNanos$animation_core_release(J)V
12621262
HSPLandroidx/compose/animation/core/AnimationState;->setLastFrameTimeNanos$animation_core_release(J)V
1263-
HSPLandroidx/compose/animation/core/AnimationState;->setRunning$animation_core_release(Z)V
1263+
HSPLandroidx/compose/animation/core/AnimationState;->setShowDialog$animation_core_release(Z)V
12641264
HSPLandroidx/compose/animation/core/AnimationState;->setValue$animation_core_release(Ljava/lang/Object;)V
12651265
HSPLandroidx/compose/animation/core/AnimationState;->setVelocityVector$animation_core_release(Landroidx/compose/animation/core/AnimationVector;)V
12661266
Landroidx/compose/animation/core/AnimationStateKt;
@@ -1411,17 +1411,17 @@ HSPLandroidx/compose/animation/core/InfiniteTransition;->access$setStartTimeNano
14111411
PLandroidx/compose/animation/core/InfiniteTransition;->access$setStartTimeNanos$p(Landroidx/compose/animation/core/InfiniteTransition;J)V
14121412
HSPLandroidx/compose/animation/core/InfiniteTransition;->addAnimation$animation_core_release(Landroidx/compose/animation/core/InfiniteTransition$TransitionAnimationState;)V
14131413
PLandroidx/compose/animation/core/InfiniteTransition;->addAnimation$animation_core_release(Landroidx/compose/animation/core/InfiniteTransition$TransitionAnimationState;)V
1414-
HSPLandroidx/compose/animation/core/InfiniteTransition;->isRunning()Z
1415-
PLandroidx/compose/animation/core/InfiniteTransition;->isRunning()Z
1414+
HSPLandroidx/compose/animation/core/InfiniteTransition;->getShowDialog()Z
1415+
PLandroidx/compose/animation/core/InfiniteTransition;->getShowDialog()Z
14161416
HSPLandroidx/compose/animation/core/InfiniteTransition;->onFrame(J)V
14171417
PLandroidx/compose/animation/core/InfiniteTransition;->onFrame(J)V
14181418
PLandroidx/compose/animation/core/InfiniteTransition;->removeAnimation$animation_core_release(Landroidx/compose/animation/core/InfiniteTransition$TransitionAnimationState;)V
14191419
HSPLandroidx/compose/animation/core/InfiniteTransition;->run$animation_core_release(Landroidx/compose/runtime/Composer;I)V
14201420
PLandroidx/compose/animation/core/InfiniteTransition;->run$animation_core_release(Landroidx/compose/runtime/Composer;I)V
14211421
HSPLandroidx/compose/animation/core/InfiniteTransition;->setRefreshChildNeeded(Z)V
14221422
PLandroidx/compose/animation/core/InfiniteTransition;->setRefreshChildNeeded(Z)V
1423-
HSPLandroidx/compose/animation/core/InfiniteTransition;->setRunning(Z)V
1424-
PLandroidx/compose/animation/core/InfiniteTransition;->setRunning(Z)V
1423+
HSPLandroidx/compose/animation/core/InfiniteTransition;->setShowDialog(Z)V
1424+
PLandroidx/compose/animation/core/InfiniteTransition;->setShowDialog(Z)V
14251425
Landroidx/compose/animation/core/InfiniteTransition$TransitionAnimationState;
14261426
HSPLandroidx/compose/animation/core/InfiniteTransition$TransitionAnimationState;-><init>(Landroidx/compose/animation/core/InfiniteTransition;Ljava/lang/Object;Ljava/lang/Object;Landroidx/compose/animation/core/TwoWayConverter;Landroidx/compose/animation/core/AnimationSpec;Ljava/lang/String;)V
14271427
PLandroidx/compose/animation/core/InfiniteTransition$TransitionAnimationState;-><init>(Landroidx/compose/animation/core/InfiniteTransition;Ljava/lang/Object;Ljava/lang/Object;Landroidx/compose/animation/core/TwoWayConverter;Landroidx/compose/animation/core/AnimationSpec;Ljava/lang/String;)V
@@ -1691,7 +1691,7 @@ HSPLandroidx/compose/animation/core/Transition;->getStartTimeNanos$animation_cor
16911691
HSPLandroidx/compose/animation/core/Transition;->getTargetState()Ljava/lang/Object;
16921692
HSPLandroidx/compose/animation/core/Transition;->getUpdateChildrenNeeded()Z
16931693
HSPLandroidx/compose/animation/core/Transition;->get_playTimeNanos()J
1694-
HSPLandroidx/compose/animation/core/Transition;->isRunning()Z
1694+
HSPLandroidx/compose/animation/core/Transition;->getShowDialog()Z
16951695
HSPLandroidx/compose/animation/core/Transition;->isSeeking()Z
16961696
HSPLandroidx/compose/animation/core/Transition;->onChildAnimationUpdated()V
16971697
PLandroidx/compose/animation/core/Transition;->onDisposed$animation_core_release()V
@@ -1812,8 +1812,8 @@ Landroidx/compose/animation/core/TransitionState;
18121812
HSPLandroidx/compose/animation/core/TransitionState;-><clinit>()V
18131813
HSPLandroidx/compose/animation/core/TransitionState;-><init>()V
18141814
HSPLandroidx/compose/animation/core/TransitionState;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
1815-
HSPLandroidx/compose/animation/core/TransitionState;->isRunning$animation_core_release()Z
1816-
HSPLandroidx/compose/animation/core/TransitionState;->setRunning$animation_core_release(Z)V
1815+
HSPLandroidx/compose/animation/core/TransitionState;->getShowDialog$animation_core_release()Z
1816+
HSPLandroidx/compose/animation/core/TransitionState;->setShowDialog$animation_core_release(Z)V
18171817
Landroidx/compose/animation/core/TweenSpec;
18181818
HSPLandroidx/compose/animation/core/TweenSpec;-><clinit>()V
18191819
HSPLandroidx/compose/animation/core/TweenSpec;-><init>(IILandroidx/compose/animation/core/Easing;)V

0 commit comments

Comments
 (0)