@@ -51,58 +51,51 @@ fun ApkPreviewDialog(tab: FilesTab) {
5151 val isApksArchive: Boolean = apkDialog.ApksArchive
5252
5353 if (tab.apkDialog.showApkDialog && apkDialog.apkFile != null ) {
54- val packageManager = globalClass.packageManager
5554 val context = LocalContext .current
5655 val apkFile = apkDialog.apkFile!!
5756
58- val apkInfo by remember {
59- mutableStateOf(packageManager.getPackageArchiveInfo(apkFile.path, 0 ))
60- }
61-
62- var icon by remember {
63- mutableStateOf<Drawable ?>(null )
64- }
65-
66- val details = remember {
67- mutableStateListOf<Pair <String , String >>()
68- }
69-
70- var appName by remember {
71- mutableStateOf(emptyString)
72- }
57+ var icon by remember { mutableStateOf<Drawable ?>(null ) }
58+ val details = remember { mutableStateListOf<Pair <String , String >>() }
59+ var appName by remember { mutableStateOf(emptyString) }
7360
7461 val doSign = PreferencesManager .GeneralPrefs .signApk
7562
76- LaunchedEffect ( Unit ) {
77- apkInfo?. let { it ->
78- it.applicationInfo?.sourceDir = apkFile.path
79- it.applicationInfo?.publicSourceDir = apkFile.path
63+ if ( ! isApksArchive ) {
64+ val packageManager = globalClass.packageManager
65+ val apkInfo =
66+ remember { mutableStateOf(packageManager.getPackageArchiveInfo( apkFile.path, 0 )) }
8067
81- icon = it.applicationInfo?.loadIcon(packageManager)
82- appName = it.applicationInfo?.loadLabel(packageManager).toString()
68+ LaunchedEffect (Unit ) {
69+ apkInfo.value?.let { info ->
70+ info.applicationInfo?.sourceDir = apkFile.path
71+ info.applicationInfo?.publicSourceDir = apkFile.path
8372
84- details.add( Pair (globalClass.getString( R .string.package_name), it.packageName) )
85- it.versionName?. let {
86- details.add( Pair (globalClass.getString( R .string.version_name), it))
87- }
88- details.add (
89- Pair (
90- globalClass.getString( R .string.version_code),
91- if ( Build . VERSION . SDK_INT >= Build . VERSION_CODES . P ) it.longVersionCode.toString() else it.versionCode.toString( )
73+ icon = info.applicationInfo?.loadIcon(packageManager )
74+ appName = info.applicationInfo?.loadLabel(packageManager).toString()
75+
76+ details.add(
77+ Pair (
78+ globalClass.getString( R .string.package_name),
79+ info.packageName
80+ )
9281 )
93- )
94- details.add(
95- Pair (
96- globalClass.getString(R .string.size),
97- apkFile.fileSize.toFormattedSize()
82+ info.versionName?.let {
83+ details.add(Pair (globalClass.getString(R .string.version_name), it))
84+ }
85+ details.add(
86+ Pair (
87+ globalClass.getString(R .string.version_code),
88+ if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .P ) info.longVersionCode.toString() else info.versionCode.toString()
89+ )
9890 )
99- )
91+ }
10092 }
10193 }
94+ details.add(
95+ Pair (globalClass.getString(R .string.size), apkFile.fileSize.toFormattedSize())
96+ )
10297
103- BottomSheetDialog (
104- onDismissRequest = { apkDialog.hide() }
105- ) {
98+ BottomSheetDialog (onDismissRequest = { apkDialog.hide() }) {
10699 Column (
107100 modifier = Modifier
108101 .fillMaxWidth()
@@ -130,11 +123,7 @@ fun ApkPreviewDialog(tab: FilesTab) {
130123 modifier = Modifier .fillMaxWidth(),
131124 horizontalArrangement = Arrangement .Center
132125 ) {
133- Text (
134- text = appName,
135- fontSize = 18 .sp,
136- fontWeight = FontWeight .Bold
137- )
126+ Text (text = appName, fontSize = 18 .sp, fontWeight = FontWeight .Bold )
138127 }
139128
140129 Space (size = 8 .dp)
@@ -156,64 +145,55 @@ fun ApkPreviewDialog(tab: FilesTab) {
156145 Space (size = 8 .dp)
157146
158147 Row (modifier = Modifier .fillMaxWidth(), horizontalArrangement = Arrangement .End ) {
159- TextButton (
160- onClick = {
161- apkDialog.hide()
162- apkFile.openFile(
163- context = context,
164- anonymous = false ,
165- skipSupportedExtensions = true ,
166- customMimeType = " application/zip"
167- )
168- }
169- ) {
148+ TextButton (onClick = {
149+ apkDialog.hide()
150+ apkFile.openFile(
151+ context = context,
152+ anonymous = false ,
153+ skipSupportedExtensions = true ,
154+ customMimeType = " application/zip"
155+ )
156+ }) {
170157 Text (text = stringResource(R .string.explore))
171158 }
172159
173160 if (isApksArchive) {
174- TextButton (
175- onClick = {
176- apkDialog.hide()
177- val mergeHandler = MergeHandler (context)
178- mergeHandler.mergeApks(
179- tab,
180- apkFile,
181- doSign,
182- onSuccess = {
183- CoroutineScope (Dispatchers .Main ).launch {
184- tab.taskDialog.taskDialogInfo =
185- context.getString(R .string.merge_successful)
186- tab.taskDialog.taskDialogSubtitle =
187- context.getString(R .string.merge_completed)
188- tab.taskDialog.taskDialogProgress = 1f
189- delay(500 )
190- tab.taskDialog.showTaskDialog = false
191- }
192- },
193- onError = { errorMessage ->
194- CoroutineScope (Dispatchers .Main ).launch {
195- tab.taskDialog.taskDialogInfo = errorMessage
196- tab.taskDialog.taskDialogSubtitle =
197- context.getString(R .string.failed)
198- }
161+ TextButton (onClick = {
162+ apkDialog.hide()
163+ val mergeHandler = MergeHandler (context)
164+ mergeHandler.mergeApks(
165+ tab, apkFile, doSign,
166+ onSuccess = {
167+ CoroutineScope (Dispatchers .Main ).launch {
168+ tab.taskDialog.taskDialogInfo =
169+ context.getString(R .string.merge_successful)
170+ tab.taskDialog.taskDialogSubtitle =
171+ context.getString(R .string.merge_completed)
172+ tab.taskDialog.taskDialogProgress = 1f
173+ delay(500 )
174+ tab.taskDialog.showTaskDialog = false
199175 }
200- )
201-
202- }
203- ) {
176+ },
177+ onError = { errorMessage ->
178+ CoroutineScope (Dispatchers .Main ).launch {
179+ tab.taskDialog.taskDialogInfo = errorMessage
180+ tab.taskDialog.taskDialogSubtitle =
181+ context.getString(R .string.failed)
182+ }
183+ }
184+ )
185+ }) {
204186 Text (text = stringResource(R .string.merge))
205187 }
206- } else {
207- TextButton (
208- onClick = {
209- apkDialog.hide()
210- apkFile.openFile(
211- context = context,
212- anonymous = false ,
213- skipSupportedExtensions = true
214- )
215- }
216- ) {
188+ } else {
189+ TextButton (onClick = {
190+ apkDialog.hide()
191+ apkFile.openFile(
192+ context,
193+ anonymous = false ,
194+ skipSupportedExtensions = true
195+ )
196+ }) {
217197 Text (text = stringResource(R .string.install))
218198 }
219199 }
0 commit comments