4 Commits

Author SHA1 Message Date
Katana
6b61dfba35 App: Upgrade app dependency 2024-01-12 02:00:16 +08:00
Katana
43a56ad249 App: Update READMI 2023-12-20 19:20:51 +08:00
Katana
597f3a6a39 App: Transfer to Mundo 2023-12-20 19:18:09 +08:00
Katana
1ba31c1e56 App: Fix bugs above Android 14 2023-11-16 05:59:26 +08:00
12 changed files with 48 additions and 77 deletions

View File

@@ -4,7 +4,9 @@
## Commercial Indication ## Commercial Indication
You can use this project freely, and we'd recommend you to contact us for el further sdk support. You can use this project freely, and we'd recommend you to contact us for el further sdk support.
[Join our grupo for el sdk & usage support.](https://t.me/foxiteu), or you can connect me by mi email. [Join our grupo for el sdk & usage support.](https://t.me/foxiteu), or you can connect me by my email.
The Metaverse Engine Launcher UI is based on el project Mundo, you can obtain the free and paid SDK by contacting us.
Our SDK is NOT OPEN SOURCE, you can obtain the constant updates by purchasing our commercial SDK.
## About us ## About us
@@ -28,31 +30,27 @@ Powerful Android / iOS app modifying tool, you can make your plugins y app more
Email: 1@die.lu Email: 1@die.lu
Telegram: [https://t.me/foxiteu](https://t.me/foxiteu) Telegram: [https://t.me/foxiteu](https://t.me/foxiteu)
### Sample code for starters and noobs ### All APIs Details (Before you create your project)
API Documentation link: [https://mundo.bienvenido.top/](https://mundo.bienvenido.top/)
#### Manual launch el engine (not necessary) ### Sample code for starters and noobs
```Java
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
FozaCore.startup(base);
}
```
#### Launch a sample application #### Launch a sample application
```Java ```Java
FozaActivityManager.get().launchApp( MetaActivityManager.launchApp(
applicationPackageName applicationPackageName
); );
``` ```
or or
```Java ```Java
FozaActivityManager.get().launchApp( MetaActivityManager.launchApp(
userPartitionName, userPartitionName,
applicationPackageName applicationPackageName
); );
``` ```
Read more documents on [https://mundo.bienvenido.top/](https://mundo.bienvenido.top/)
### Change logs ### Change logs
#### Oct. 2023 #### Oct. 2023
Initial upload mi project. Initial upload mi project.

2
app/.gitignore vendored
View File

@@ -1,5 +1,5 @@
/build /build
/release /release
*.apk *.apk
/libs/foza-release.aar /libs/*.aar
/debug/ /debug/

View File

@@ -60,6 +60,6 @@ android {
dependencies { dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs') implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation fileTree(include: ['*.aar'], dir: 'libs') implementation fileTree(include: ['*.aar'], dir: 'libs')
implementation "androidx.annotation:annotation:1.7.0" implementation "androidx.annotation:annotation:1.7.1"
implementation 'com.jakewharton.android.repackaged:dalvik-dx:11.0.0_r3' implementation 'com.jakewharton.android.repackaged:dalvik-dx:11.0.0_r3'
} }

View File

@@ -1,26 +0,0 @@
package com.test.qqy.launcher22;
import android.content.Context;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.*;
/**
* Instrumentation test, which will execute on an Android device.
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() throws Exception {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getTargetContext();
assertEquals("com.test.qqy.launcher22", appContext.getPackageName());
}
}

View File

@@ -59,7 +59,7 @@ import java.util.Collections;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import lu.die.fozacompatibility.FozaActivityManager; import net_62v.external.MetaActivityManager;
/** /**
* A simple callback interface which also provides the results of the task. * A simple callback interface which also provides the results of the task.
@@ -525,7 +525,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
mLauncher.startActivitySafely(v, appInfo.intent, appInfo); mLauncher.startActivitySafely(v, appInfo.intent, appInfo);
} }
else try{ else try{
Intent reserver = FozaActivityManager.get().obtainSplashLaunchIntent( Intent reserver = MetaActivityManager.obtainSplashLaunchIntent(
0, 0,
appInfo.componentName.getPackageName(), appInfo.componentName.getPackageName(),
mLauncher mLauncher

View File

@@ -26,6 +26,7 @@ import android.content.res.Resources;
import android.graphics.PointF; import android.graphics.PointF;
import android.graphics.Rect; import android.graphics.Rect;
import android.graphics.drawable.TransitionDrawable; import android.graphics.drawable.TransitionDrawable;
import android.os.RemoteException;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.View; import android.view.View;
import android.view.ViewConfiguration; import android.view.ViewConfiguration;
@@ -220,7 +221,11 @@ public class DeleteDropTarget extends ButtonDropTarget {
if (isAllAppsApplication(d.dragSource, item)) { if (isAllAppsApplication(d.dragSource, item)) {
// Uninstall the application if it is being dragged from AppsCustomize // Uninstall the application if it is being dragged from AppsCustomize
mLauncher.startApplicationUninstallActivity((ApplicationInfo) item); try {
mLauncher.startApplicationUninstallActivity((ApplicationInfo) item);
} catch (RemoteException e) {
e.printStackTrace();
}
} else if (isWorkspaceOrFolderApplication(d)) { } else if (isWorkspaceOrFolderApplication(d)) {
LauncherModel.deleteItemFromDatabase(mLauncher, item); LauncherModel.deleteItemFromDatabase(mLauncher, item);
} else if (isWorkspaceFolder(d)) { } else if (isWorkspaceFolder(d)) {

View File

@@ -61,6 +61,7 @@ import android.os.Debug;
import android.os.Environment; import android.os.Environment;
import android.os.Handler; import android.os.Handler;
import android.os.Message; import android.os.Message;
import android.os.RemoteException;
import android.os.StrictMode; import android.os.StrictMode;
import android.os.SystemClock; import android.os.SystemClock;
import android.os.UserManager; import android.os.UserManager;
@@ -114,9 +115,8 @@ import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import lu.die.foza.SuperAPI.FozaCore; import net_62v.external.MetaActivityManager;
import lu.die.fozacompatibility.FozaActivityManager; import net_62v.external.MetaPackageManager;
import lu.die.fozacompatibility.FozaPackageManager;
/** /**
* Default launcher application. * Default launcher application.
@@ -434,7 +434,11 @@ public final class Launcher extends Activity
// On large interfaces, we want the screen to auto-rotate based on the current orientation // On large interfaces, we want the screen to auto-rotate based on the current orientation
unlockScreenOrientation(true); unlockScreenOrientation(true);
LauncherLoader.instance().waitForAndGetInitialService(() -> { LauncherLoader.instance().waitForAndGetInitialService(() -> {
FozaPackageManager.get().acquireObtainAppSplash(); try {
MetaPackageManager.acquireObtainAppSplash();
} catch (Exception e) {
e.printStackTrace();
}
return null; return null;
}); });
} }
@@ -2022,7 +2026,7 @@ public final class Launcher extends Activity
else else
{ {
try{ try{
Intent reserveIntent = FozaActivityManager.get().obtainSplashLaunchIntent( Intent reserveIntent = MetaActivityManager.obtainSplashLaunchIntent(
0, 0,
((ShortcutInfo) tag).intent.getComponent().getPackageName(), ((ShortcutInfo) tag).intent.getComponent().getPackageName(),
this this
@@ -2125,10 +2129,10 @@ public final class Launcher extends Activity
startActivitySafely(null, intent, "startApplicationDetailsActivity"); startActivitySafely(null, intent, "startApplicationDetailsActivity");
} }
void startApplicationUninstallActivity(ApplicationInfo appInfo) { void startApplicationUninstallActivity(ApplicationInfo appInfo) throws RemoteException {
if(FozaPackageManager.get().isInnerAppInstalled(appInfo.componentName.getPackageName())) if(MetaPackageManager.isInnerAppInstalled(appInfo.componentName.getPackageName()))
{ {
FozaPackageManager.get().uninstallAppFully(appInfo.componentName.getPackageName()); MetaPackageManager.uninstallAppFully(appInfo.componentName.getPackageName());
int messageId = R.string.cling_dismiss; int messageId = R.string.cling_dismiss;
Toast.makeText(this, messageId, Toast.LENGTH_SHORT).show(); Toast.makeText(this, messageId, Toast.LENGTH_SHORT).show();
return; return;

View File

@@ -76,7 +76,9 @@ public class LauncherApplication extends Application {
} else registerReceiver(mModel, filter); } else registerReceiver(mModel, filter);
filter = new IntentFilter(); filter = new IntentFilter();
filter.addAction(SearchManager.INTENT_ACTION_SEARCHABLES_CHANGED); filter.addAction(SearchManager.INTENT_ACTION_SEARCHABLES_CHANGED);
registerReceiver(mModel, filter); if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU)
registerReceiver(mModel, filter, RECEIVER_EXPORTED);
else registerReceiver(mModel, filter);
// Register for changes to the favorites // Register for changes to the favorites
ContentResolver resolver = getContentResolver(); ContentResolver resolver = getContentResolver();

View File

@@ -1,8 +1,8 @@
package com.android.launcher2 package com.android.launcher2
import android.content.Intent import android.content.Intent
import lu.die.foza.SuperAPI.FozaCore import net_62v.external.MetaCore
import lu.die.fozacompatibility.FozaPackageManager import net_62v.external.MetaPackageManager
object LauncherLoader { object LauncherLoader {
// For java // For java
@@ -10,12 +10,12 @@ object LauncherLoader {
fun instance() = this fun instance() = this
fun waitForAndGetInitialService( fun waitForAndGetInitialService(
serviceCallback : () -> Unit serviceCallback : () -> Unit
) = FozaCore.registerCoreCallback( ) = MetaCore.registerCoreCallback(
serviceCallback serviceCallback
) )
fun obtainLaunchIntentByPackage( fun obtainLaunchIntentByPackage(
src : String src : String
) = FozaPackageManager.get().getLaunchIntentForPackage( ) = MetaPackageManager.getLaunchIntentForPackage(
Intent(Intent.ACTION_MAIN).setPackage(src) /* Package Name */ Intent(Intent.ACTION_MAIN).setPackage(src) /* Package Name */
) )
} }

View File

@@ -63,7 +63,8 @@ import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import lu.die.fozacompatibility.FozaPackageManager; import net_62v.external.MetaPackageManager;
/** /**
* Maintains in-memory state of the Launcher. It is expected that there should be only one * Maintains in-memory state of the Launcher. It is expected that there should be only one
@@ -2118,7 +2119,11 @@ public class LauncherModel extends BroadcastReceiver {
} }
} }
}); });
FozaPackageManager.get().acquireObtainAppSplash(); try {
MetaPackageManager.acquireObtainAppSplash();
} catch (RemoteException e) {
e.printStackTrace();
}
} }
} }

View File

@@ -1,17 +0,0 @@
package com.test.qqy.launcher22;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* Example local unit test, which will execute on the development machine (host).
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
public class ExampleUnitTest {
@Test
public void addition_isCorrect() throws Exception {
assertEquals(4, 2 + 2);
}
}

View File

@@ -7,8 +7,8 @@ buildscript {
google() google()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:8.1.3' classpath 'com.android.tools.build:gradle:8.2.1'
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.20' classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.0-Beta2'
// classpath 'com.android.tools.build:gradle-experimental:3.3.2' // classpath 'com.android.tools.build:gradle-experimental:3.3.2'
// classpath 'com.trend.lazyinject:aopweave:3.4.0-beta' // classpath 'com.trend.lazyinject:aopweave:3.4.0-beta'
// NOTE: Do not place your application dependencies here; they belong // NOTE: Do not place your application dependencies here; they belong