6565 */
6666public class PackageInfoFragment extends Fragment {
6767
68- private final List <PackageInfoItems > mPackageInfoItems = new ArrayList <>();
69- private final List <PackageOptionsItems > mPackageOptionsItems = new ArrayList <>();
68+ private boolean mRootOrShizuku = false ;
7069
7170 @ SuppressLint ("StringFormatInvalid" )
7271 @ Nullable
@@ -85,45 +84,15 @@ public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
8584 mPackageOptions .setLayoutManager (new LinearLayoutManager (requireActivity (), LinearLayoutManager .HORIZONTAL , false ));
8685 mPackageInfo .setLayoutManager (new LinearLayoutManager (requireActivity ()));
8786
88- boolean mRootOrShizuku = new RootShell ().rootAccess () || new ShizukuShell ().isReady ();
89- boolean mAppBundle = new File (sPackageUtils .getSourceDir (Common .getApplicationID (), requireActivity ())).getName ().equals ("base.apk" ) && SplitAPKInstaller
90- .splitApks (sPackageUtils .getParentDir (Common .getApplicationID (), requireActivity ())).size () > 1 ;
91- String certificate = APKParser .getCertificateDetails (sPackageUtils .getSourceDir (Common .getApplicationID (), requireActivity ()), requireActivity ()).trim ();
92-
93- if (sPackageUtils .isEnabled (Common .getApplicationID (), requireActivity ())) {
94- mPackageOptionsItems .add (new PackageOptionsItems (sCommonUtils .getDrawable (R .drawable .ic_open , requireActivity ()), getString (R .string .open ), 0 ));
95- }
96- mPackageOptionsItems .add (new PackageOptionsItems (sCommonUtils .getDrawable (R .drawable .ic_explore , requireActivity ()), getString (R .string .explore ), 1 ));
97- if (mRootOrShizuku ) {
98- mPackageOptionsItems .add (new PackageOptionsItems (sCommonUtils .getDrawable (R .drawable .ic_disable , requireActivity ()), getString (sPackageUtils .isEnabled (
99- Common .getApplicationID (), requireActivity ()) ? R .string .disable : R .string .enable ), 2 ));
100- }
101- mPackageOptionsItems .add (new PackageOptionsItems (sCommonUtils .getDrawable (R .drawable .ic_delete , requireActivity ()), getString (R .string .uninstall ), 3 ));
102- mPackageOptionsItems .add (new PackageOptionsItems (sCommonUtils .getDrawable (R .drawable .ic_settings , requireActivity ()), getString (R .string .app_info ), 4 ));
103-
104- mPackageInfoItems .add (new PackageInfoItems (getString (R .string .package_id ), Common .getApplicationID (), null , null ,
105- getString (R .string .more ), sCommonUtils .getDrawable (R .drawable .ic_dots , requireActivity ())));
106- mPackageInfoItems .add (new PackageInfoItems (getString (mAppBundle ? R .string .bundle_path : R .string .apk_path ), sPackageUtils .getParentDir (
107- Common .getApplicationID (), requireActivity ()), null , mAppBundle ? getString (R .string .size_bundle , PackageData
108- .getBundleSize (sPackageUtils .getParentDir (Common .getApplicationID (), requireActivity ()))) : getString (R .string .size_apk ,
109- sAPKUtils .getAPKSize (new File (Common .getSourceDir ()).length ())), getString (R .string .export ), sCommonUtils .getDrawable (
110- R .drawable .ic_export , requireActivity ())));
111- mPackageInfoItems .add (new PackageInfoItems (getString (R .string .data_dir ), Common .getDataDir (), null , null ,
112- mRootOrShizuku ? getString (R .string .reset ) : null , mRootOrShizuku ? sCommonUtils .getDrawable (R .drawable .ic_reset , requireActivity ()) : null ));
113- mPackageInfoItems .add (new PackageInfoItems (getString (R .string .native_lib ), null , Common .getNativeLibsDir (), null ,
114- null , null ));
115- mPackageInfoItems .add (new PackageInfoItems (getString (R .string .date_installation ), null , getString (R .string .date_installed , sPackageUtils .getInstalledDate (
116- Common .getApplicationID (), requireActivity ())) + "\n " + getString (R .string .date_updated , sPackageUtils .getUpdatedDate (Common .getApplicationID (),
117- requireActivity ())), null , null , null ));
118- mPackageInfoItems .add (new PackageInfoItems (getString (R .string .certificate ), null , certificate , null , null , null ));
87+ mRootOrShizuku = new RootShell ().rootAccess () || new ShizukuShell ().isReady ();
11988
120- mPackageOptionsAdapter = new PackageOptionsAdapter (mPackageOptionsItems );
121- mPackageInfoAdapter = new PackageInfoAdapter (mPackageInfoItems );
89+ mPackageOptionsAdapter = new PackageOptionsAdapter (getPackageOptionsData () );
90+ mPackageInfoAdapter = new PackageInfoAdapter (getPackageInfoData () );
12291 mPackageOptions .setAdapter (mPackageOptionsAdapter );
12392 mPackageInfo .setAdapter (mPackageInfoAdapter );
12493
12594 mPackageOptionsAdapter .setOnItemClickListener ((position , v ) -> {
126- switch (mPackageOptionsItems .get (position ).getPosition ()) {
95+ switch (getPackageOptionsData () .get (position ).getPosition ()) {
12796 case 0 :
12897 if (Common .getApplicationID ().equals (BuildConfig .APPLICATION_ID )) {
12998 sCommonUtils .snackBar (mRootView , getString (R .string .open_message )).show ();
@@ -271,4 +240,43 @@ public void handleOnBackPressed() {
271240 return mRootView ;
272241 }
273242
243+ @ SuppressLint ("StringFormatInvalid" )
244+ private List <PackageInfoItems > getPackageInfoData () {
245+ List <PackageInfoItems > mPackageInfoItems = new ArrayList <>();
246+ boolean mAppBundle = new File (sPackageUtils .getSourceDir (Common .getApplicationID (), requireActivity ())).getName ().equals ("base.apk" ) && SplitAPKInstaller
247+ .splitApks (sPackageUtils .getParentDir (Common .getApplicationID (), requireActivity ())).size () > 1 ;
248+ String certificate = APKParser .getCertificateDetails (sPackageUtils .getSourceDir (Common .getApplicationID (), requireActivity ()), requireActivity ()).trim ();
249+ mPackageInfoItems .add (new PackageInfoItems (getString (R .string .package_id ), Common .getApplicationID (), null , null ,
250+ getString (R .string .more ), sCommonUtils .getDrawable (R .drawable .ic_dots , requireActivity ())));
251+ mPackageInfoItems .add (new PackageInfoItems (getString (mAppBundle ? R .string .bundle_path : R .string .apk_path ), sPackageUtils .getParentDir (
252+ Common .getApplicationID (), requireActivity ()), null , mAppBundle ? getString (R .string .size_bundle , PackageData
253+ .getBundleSize (sPackageUtils .getParentDir (Common .getApplicationID (), requireActivity ()))) : getString (R .string .size_apk ,
254+ sAPKUtils .getAPKSize (new File (Common .getSourceDir ()).length ())), getString (R .string .export ), sCommonUtils .getDrawable (
255+ R .drawable .ic_export , requireActivity ())));
256+ mPackageInfoItems .add (new PackageInfoItems (getString (R .string .data_dir ), Common .getDataDir (), null , null ,
257+ mRootOrShizuku ? getString (R .string .reset ) : null , mRootOrShizuku ? sCommonUtils .getDrawable (R .drawable .ic_reset , requireActivity ()) : null ));
258+ mPackageInfoItems .add (new PackageInfoItems (getString (R .string .native_lib ), null , Common .getNativeLibsDir (), null ,
259+ null , null ));
260+ mPackageInfoItems .add (new PackageInfoItems (getString (R .string .date_installation ), null , getString (R .string .date_installed , sPackageUtils .getInstalledDate (
261+ Common .getApplicationID (), requireActivity ())) + "\n " + getString (R .string .date_updated , sPackageUtils .getUpdatedDate (Common .getApplicationID (),
262+ requireActivity ())), null , null , null ));
263+ mPackageInfoItems .add (new PackageInfoItems (getString (R .string .certificate ), null , certificate , null , null , null ));
264+ return mPackageInfoItems ;
265+ }
266+
267+ private List <PackageOptionsItems > getPackageOptionsData () {
268+ List <PackageOptionsItems > mPackageOptionsItems = new ArrayList <>();
269+ if (sPackageUtils .isEnabled (Common .getApplicationID (), requireActivity ())) {
270+ mPackageOptionsItems .add (new PackageOptionsItems (sCommonUtils .getDrawable (R .drawable .ic_open , requireActivity ()), getString (R .string .open ), 0 ));
271+ }
272+ mPackageOptionsItems .add (new PackageOptionsItems (sCommonUtils .getDrawable (R .drawable .ic_explore , requireActivity ()), getString (R .string .explore ), 1 ));
273+ if (mRootOrShizuku ) {
274+ mPackageOptionsItems .add (new PackageOptionsItems (sCommonUtils .getDrawable (R .drawable .ic_disable , requireActivity ()), getString (sPackageUtils .isEnabled (
275+ Common .getApplicationID (), requireActivity ()) ? R .string .disable : R .string .enable ), 2 ));
276+ }
277+ mPackageOptionsItems .add (new PackageOptionsItems (sCommonUtils .getDrawable (R .drawable .ic_delete , requireActivity ()), getString (R .string .uninstall ), 3 ));
278+ mPackageOptionsItems .add (new PackageOptionsItems (sCommonUtils .getDrawable (R .drawable .ic_settings , requireActivity ()), getString (R .string .app_info ), 4 ));
279+ return mPackageOptionsItems ;
280+ }
281+
274282}
0 commit comments