2022-03-29 21:55:20 +02:00
|
|
|
package com.hiddenservices.onionservices.pluginManager;
|
2020-01-24 16:23:31 +01:00
|
|
|
|
2022-04-02 01:13:29 +02:00
|
|
|
import android.annotation.SuppressLint;
|
|
|
|
import android.app.AlarmManager;
|
|
|
|
import android.app.PendingIntent;
|
|
|
|
import android.content.Context;
|
|
|
|
import android.content.Intent;
|
2021-08-19 22:17:54 +02:00
|
|
|
import android.view.WindowManager;
|
2021-07-07 20:42:42 +02:00
|
|
|
import android.widget.ImageView;
|
2020-01-24 16:23:31 +01:00
|
|
|
import androidx.appcompat.app.AppCompatActivity;
|
2022-04-02 01:13:29 +02:00
|
|
|
|
|
|
|
import com.example.myapplication.R;
|
2022-03-29 21:55:20 +02:00
|
|
|
import com.hiddenservices.onionservices.appManager.activityContextManager;
|
|
|
|
import com.hiddenservices.onionservices.appManager.homeManager.geckoManager.geckoSession;
|
|
|
|
import com.hiddenservices.onionservices.appManager.homeManager.homeController.homeController;
|
|
|
|
import com.hiddenservices.onionservices.appManager.orbotLogManager.orbotLogController;
|
|
|
|
import com.hiddenservices.onionservices.appManager.settingManager.privacyManager.settingPrivacyController;
|
|
|
|
import com.hiddenservices.onionservices.constants.constants;
|
|
|
|
import com.hiddenservices.onionservices.constants.enums;
|
|
|
|
import com.hiddenservices.onionservices.constants.keys;
|
|
|
|
import com.hiddenservices.onionservices.constants.status;
|
|
|
|
import com.hiddenservices.onionservices.dataManager.dataController;
|
|
|
|
import com.hiddenservices.onionservices.dataManager.dataEnums;
|
|
|
|
import com.hiddenservices.onionservices.eventObserver;
|
|
|
|
import com.hiddenservices.onionservices.helperManager.helperMethod;
|
2022-04-02 01:13:29 +02:00
|
|
|
import com.hiddenservices.onionservices.pluginManager.adPluginManager.appLovinManager;
|
2022-03-29 21:55:20 +02:00
|
|
|
import com.hiddenservices.onionservices.pluginManager.analyticPluginManager.analyticManager;
|
|
|
|
import com.hiddenservices.onionservices.pluginManager.downloadPluginManager.downloadManager;
|
|
|
|
import com.hiddenservices.onionservices.pluginManager.langPluginManager.langManager;
|
|
|
|
import com.hiddenservices.onionservices.pluginManager.messagePluginManager.messageManager;
|
|
|
|
import com.hiddenservices.onionservices.pluginManager.notificationPluginManager.notifictionManager;
|
|
|
|
import com.hiddenservices.onionservices.pluginManager.orbotPluginManager.orbotManager;
|
2021-04-11 21:25:15 +02:00
|
|
|
import java.lang.ref.WeakReference;
|
2020-10-05 13:12:00 +02:00
|
|
|
import java.util.Arrays;
|
2020-01-24 16:23:31 +01:00
|
|
|
import java.util.Collections;
|
|
|
|
import java.util.List;
|
2020-09-11 12:54:25 +02:00
|
|
|
import java.util.Locale;
|
2022-03-29 21:55:20 +02:00
|
|
|
import static com.hiddenservices.onionservices.constants.enums.etype.fetch_favicon;
|
|
|
|
import static com.hiddenservices.onionservices.pluginManager.pluginEnums.eAdManagerCallbacks.M_ON_AD_CLICK;
|
|
|
|
import static com.hiddenservices.onionservices.pluginManager.pluginEnums.eAdManagerCallbacks.M_ON_AD_HIDE;
|
|
|
|
import static com.hiddenservices.onionservices.pluginManager.pluginEnums.eAdManagerCallbacks.M_ON_AD_LOAD;
|
|
|
|
import static com.hiddenservices.onionservices.pluginManager.pluginEnums.eLangManager.M_ACTIVITY_CREATED;
|
|
|
|
import static com.hiddenservices.onionservices.pluginManager.pluginEnums.eLangManager.M_RESUME;
|
|
|
|
import static com.hiddenservices.onionservices.pluginManager.pluginEnums.eMessageManager.*;
|
|
|
|
import static com.hiddenservices.onionservices.pluginManager.pluginEnums.eMessageManagerCallbacks.*;
|
|
|
|
import static com.hiddenservices.onionservices.pluginManager.pluginEnums.eMessageManagerCallbacks.M_CLEAR_BOOKMARK;
|
|
|
|
import static com.hiddenservices.onionservices.pluginManager.pluginEnums.eMessageManagerCallbacks.M_CLEAR_HISTORY;
|
|
|
|
import static com.hiddenservices.onionservices.pluginManager.pluginEnums.eMessageManagerCallbacks.M_LOAD_NEW_TAB;
|
2020-01-24 16:23:31 +01:00
|
|
|
|
|
|
|
public class pluginController
|
|
|
|
{
|
|
|
|
/*Plugin Instance*/
|
|
|
|
|
2022-04-02 01:13:29 +02:00
|
|
|
private appLovinManager mAdManager;
|
2022-03-29 21:55:20 +02:00
|
|
|
private analyticManager mAnalyticsManager;
|
2020-01-24 16:23:31 +01:00
|
|
|
private messageManager mMessageManager;
|
2021-01-18 11:07:12 +01:00
|
|
|
private notifictionManager mNotificationManager;
|
2020-01-24 16:23:31 +01:00
|
|
|
private activityContextManager mContextManager;
|
2020-09-11 12:54:25 +02:00
|
|
|
private langManager mLangManager;
|
2021-01-28 11:22:41 +01:00
|
|
|
private orbotManager mOrbotManager;
|
2021-03-06 19:55:24 +01:00
|
|
|
private downloadManager mDownloadManager;
|
2020-01-24 16:23:31 +01:00
|
|
|
|
|
|
|
/*Private Variables*/
|
|
|
|
|
|
|
|
private static pluginController ourInstance = new pluginController();
|
2021-04-11 21:25:15 +02:00
|
|
|
private WeakReference<AppCompatActivity> mHomeController;
|
2021-01-28 11:22:41 +01:00
|
|
|
private boolean mIsInitialized = false;
|
2020-01-24 16:23:31 +01:00
|
|
|
|
|
|
|
/*Initializations*/
|
|
|
|
|
|
|
|
public static pluginController getInstance()
|
|
|
|
{
|
|
|
|
return ourInstance;
|
|
|
|
}
|
|
|
|
|
2021-01-28 11:22:41 +01:00
|
|
|
public void preInitialize(homeController context){
|
2021-05-24 17:06:43 +02:00
|
|
|
mLangManager = new langManager(context,new langCallback(), new Locale(status.sSettingLanguage), status.mSystemLocale, status.sSettingLanguage, status.sSettingLanguageRegion, status.mThemeApplying);
|
2021-01-28 11:22:41 +01:00
|
|
|
}
|
|
|
|
|
2020-01-24 16:23:31 +01:00
|
|
|
public void initialize(){
|
|
|
|
instanceObjectInitialization();
|
|
|
|
mIsInitialized = true;
|
|
|
|
}
|
|
|
|
|
2021-04-11 21:25:15 +02:00
|
|
|
public void onRemoveInstances(){
|
|
|
|
mHomeController = null;
|
|
|
|
}
|
|
|
|
|
2020-01-24 16:23:31 +01:00
|
|
|
private void instanceObjectInitialization()
|
|
|
|
{
|
2021-04-11 21:25:15 +02:00
|
|
|
mHomeController = new WeakReference(activityContextManager.getInstance().getHomeController());
|
2020-01-24 16:23:31 +01:00
|
|
|
mContextManager = activityContextManager.getInstance();
|
|
|
|
|
2021-01-28 11:22:41 +01:00
|
|
|
mNotificationManager = new notifictionManager(mHomeController,new notificationCallback());
|
2022-04-02 01:13:29 +02:00
|
|
|
mAdManager = new appLovinManager(new admobCallback(), ((homeController)mHomeController.get()).getBannerAd(), mHomeController.get());
|
2021-08-19 22:17:54 +02:00
|
|
|
mAnalyticsManager = new analyticManager(mHomeController,new analyticCallback());
|
2020-01-24 16:23:31 +01:00
|
|
|
mMessageManager = new messageManager(new messageCallback());
|
2021-01-28 11:22:41 +01:00
|
|
|
mOrbotManager = orbotManager.getInstance();
|
2021-03-06 19:55:24 +01:00
|
|
|
mDownloadManager = new downloadManager(mHomeController,new downloadCallback());
|
2020-01-24 16:23:31 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/*Helper Methods*/
|
|
|
|
|
|
|
|
public boolean isInitialized(){
|
|
|
|
return mIsInitialized;
|
|
|
|
}
|
|
|
|
|
2021-01-28 11:22:41 +01:00
|
|
|
public void initializeAllServices(AppCompatActivity context){
|
|
|
|
int mNotificationStatus = (Integer) dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_INT, Arrays.asList(keys.SETTING_NOTIFICATION_STATUS,1));
|
|
|
|
orbotManager.getInstance().initialize(context,new orbotCallback(), mNotificationStatus);
|
2020-10-05 13:12:00 +02:00
|
|
|
}
|
2020-01-24 16:23:31 +01:00
|
|
|
|
|
|
|
/*------------------------------------------------ CALLBACK LISTENERS------------------------------------------------------------*/
|
|
|
|
|
|
|
|
/*Ad Manager*/
|
|
|
|
private class admobCallback implements eventObserver.eventListener{
|
|
|
|
@Override
|
2020-11-27 12:40:46 +01:00
|
|
|
public Object invokeObserver(List<Object> data, Object event_type)
|
2020-01-24 16:23:31 +01:00
|
|
|
{
|
2021-08-01 11:47:13 +02:00
|
|
|
if(event_type.equals(M_ON_AD_CLICK)){
|
|
|
|
helperMethod.onMinimizeApp(mHomeController.get());
|
2021-08-19 22:17:54 +02:00
|
|
|
activityContextManager.getInstance().getHomeController().onAdClicked();
|
2021-08-01 11:47:13 +02:00
|
|
|
}
|
|
|
|
else if(event_type.equals(M_ON_AD_LOAD)){
|
|
|
|
activityContextManager.getInstance().getHomeController().onUpdateBannerAdvert();
|
|
|
|
}
|
2021-08-19 22:17:54 +02:00
|
|
|
else if(event_type.equals(M_ON_AD_HIDE)){
|
|
|
|
activityContextManager.getInstance().getHomeController().onAdClicked();
|
|
|
|
}
|
2020-10-05 13:12:00 +02:00
|
|
|
return null;
|
2020-01-24 16:23:31 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-01-28 11:22:41 +01:00
|
|
|
public Object onAdsInvoke(List<Object> pData, pluginEnums.eAdManager pEventType){
|
|
|
|
if(mAdManager !=null){
|
2021-08-01 11:47:13 +02:00
|
|
|
return mAdManager.onTrigger(pEventType);
|
2020-01-24 16:23:31 +01:00
|
|
|
}
|
2021-01-28 11:22:41 +01:00
|
|
|
return null;
|
2020-01-24 16:23:31 +01:00
|
|
|
}
|
|
|
|
|
2021-01-28 11:22:41 +01:00
|
|
|
|
|
|
|
/*Analytics Manager*/
|
2021-05-19 19:46:36 +02:00
|
|
|
private class analyticCallback implements eventObserver.eventListener{
|
2020-01-24 16:23:31 +01:00
|
|
|
@Override
|
2021-01-28 11:22:41 +01:00
|
|
|
public Object invokeObserver(List<Object> data, Object event_type) { return null; }
|
|
|
|
}
|
|
|
|
|
|
|
|
public void onAnalyticsInvoke(List<Object> pData, pluginEnums.eAnalyticManager pEventType){
|
|
|
|
if(mAnalyticsManager !=null){
|
|
|
|
mAnalyticsManager.onTrigger(pData, pEventType);
|
2020-01-24 16:23:31 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-01-28 11:22:41 +01:00
|
|
|
|
2021-01-18 11:07:12 +01:00
|
|
|
/*Notification Manager*/
|
|
|
|
private class notificationCallback implements eventObserver.eventListener{
|
|
|
|
@Override
|
|
|
|
public Object invokeObserver(List<Object> data, Object event_type)
|
|
|
|
{
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-01-28 11:22:41 +01:00
|
|
|
public Object onNotificationInvoke(List<Object> pData, pluginEnums.eNotificationManager pEventType){
|
|
|
|
if(mNotificationManager!=null){
|
|
|
|
return mNotificationManager.onTrigger(pData, pEventType);
|
2020-09-11 12:54:25 +02:00
|
|
|
}
|
2021-01-28 11:22:41 +01:00
|
|
|
return null;
|
2020-09-11 12:54:25 +02:00
|
|
|
}
|
|
|
|
|
2021-03-06 19:55:24 +01:00
|
|
|
/*Download Manager*/
|
|
|
|
private class downloadCallback implements eventObserver.eventListener{
|
|
|
|
@Override
|
2021-04-26 23:25:23 +02:00
|
|
|
public Object invokeObserver(List<Object> pData, Object event_type)
|
2021-03-06 19:55:24 +01:00
|
|
|
{
|
2021-04-26 23:25:23 +02:00
|
|
|
if(event_type.equals(enums.etype.M_DOWNLOAD_FAILURE))
|
|
|
|
{
|
2022-04-02 01:13:29 +02:00
|
|
|
mMessageManager.onTrigger(Arrays.asList(pData.get(0).toString(), mHomeController.get()),M_DOWNLOAD_FAILURE);
|
2021-04-26 23:25:23 +02:00
|
|
|
}
|
2021-03-06 19:55:24 +01:00
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public Object onDownloadInvoke(List<Object> pData, pluginEnums.eDownloadManager pEventType){
|
|
|
|
if(mDownloadManager!=null){
|
|
|
|
return mDownloadManager.onTrigger(pData, pEventType);
|
|
|
|
}
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
2020-01-24 16:23:31 +01:00
|
|
|
/*Onion Proxy Manager*/
|
|
|
|
private class orbotCallback implements eventObserver.eventListener{
|
|
|
|
@Override
|
2020-11-27 12:40:46 +01:00
|
|
|
public Object invokeObserver(List<Object> data, Object event_type)
|
2020-01-24 16:23:31 +01:00
|
|
|
{
|
2020-10-05 13:12:00 +02:00
|
|
|
return null;
|
2020-01-24 16:23:31 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-01-28 11:22:41 +01:00
|
|
|
public Object onOrbotInvoke(List<Object> pData, pluginEnums.eOrbotManager pEventType){
|
|
|
|
if(mOrbotManager !=null){
|
|
|
|
return mOrbotManager.onTrigger(pData, pEventType);
|
|
|
|
}
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
2020-09-11 12:54:25 +02:00
|
|
|
/*Lang Manager*/
|
2021-01-28 11:22:41 +01:00
|
|
|
public Object onLanguageInvoke(List<Object> pData, pluginEnums.eLangManager pEventType){
|
2021-04-11 21:25:15 +02:00
|
|
|
if(mLangManager==null){
|
|
|
|
return null;
|
|
|
|
}
|
2021-05-24 17:06:43 +02:00
|
|
|
|
|
|
|
if(pEventType.equals(M_RESUME) || pEventType.equals(M_ACTIVITY_CREATED)){
|
|
|
|
return mLangManager.onTrigger(Arrays.asList(pData.get(0), status.sSettingLanguage, status.sSettingLanguageRegion, status.mThemeApplying), pEventType);
|
|
|
|
}
|
|
|
|
|
2021-01-28 11:22:41 +01:00
|
|
|
return mLangManager.onTrigger(pData, pEventType);
|
2020-09-11 12:54:25 +02:00
|
|
|
}
|
2021-01-28 11:22:41 +01:00
|
|
|
|
|
|
|
private class langCallback implements eventObserver.eventListener{
|
|
|
|
@Override
|
|
|
|
public Object invokeObserver(List<Object> data, Object event_type)
|
|
|
|
{
|
2021-05-24 17:06:43 +02:00
|
|
|
if(event_type.equals(pluginEnums.eLangManager.M_UPDATE_LOCAL)){
|
|
|
|
status.mSystemLocale = (Locale)data.get(0);
|
|
|
|
}
|
2021-01-28 11:22:41 +01:00
|
|
|
return null;
|
2020-11-27 12:40:46 +01:00
|
|
|
}
|
2020-09-11 12:54:25 +02:00
|
|
|
}
|
|
|
|
|
2020-01-24 16:23:31 +01:00
|
|
|
/*Message Manager*/
|
2021-01-28 11:22:41 +01:00
|
|
|
public void onMessageManagerInvoke(List<Object> pData, pluginEnums.eMessageManager pEventType){
|
2021-04-11 21:25:15 +02:00
|
|
|
if(mMessageManager!=null){
|
|
|
|
mMessageManager.onTrigger(pData,pEventType);
|
|
|
|
}
|
2021-01-28 11:22:41 +01:00
|
|
|
}
|
|
|
|
|
2020-01-24 16:23:31 +01:00
|
|
|
private class messageCallback implements eventObserver.eventListener{
|
|
|
|
@Override
|
2021-01-28 11:22:41 +01:00
|
|
|
public Object invokeObserver(List<Object> pData, Object pEventType)
|
2020-01-24 16:23:31 +01:00
|
|
|
{
|
2021-01-28 11:22:41 +01:00
|
|
|
if(pEventType.equals(enums.etype.welcome))
|
2020-01-24 16:23:31 +01:00
|
|
|
{
|
2021-04-11 21:25:15 +02:00
|
|
|
((homeController)mHomeController.get()).onLoadURL(pData.get(0).toString());
|
2020-01-24 16:23:31 +01:00
|
|
|
}
|
2021-04-21 12:05:23 +02:00
|
|
|
else if(pEventType.equals(M_PANIC_RESET)){
|
2021-08-26 15:31:59 +02:00
|
|
|
helperMethod.onDelayHandler(mHomeController.get(), 150, () -> {
|
|
|
|
activityContextManager.getInstance().getHomeController().panicExitInvoked();
|
|
|
|
return null;
|
|
|
|
});
|
2021-04-21 12:05:23 +02:00
|
|
|
}
|
2021-03-06 19:55:24 +01:00
|
|
|
else if(pEventType.equals(M_DOWNLOAD_SINGLE)){
|
2021-08-19 22:17:54 +02:00
|
|
|
if(pData!=null){
|
|
|
|
if(pData.size()<3){
|
|
|
|
((homeController)mHomeController.get()).onManualDownload(pData.get(0).toString());
|
|
|
|
}else {
|
|
|
|
if(pData.get(2).toString().startsWith("https://data") || pData.get(2).toString().startsWith("http://data")){
|
|
|
|
((homeController)mHomeController.get()).onManualDownload(pData.get(2).toString().replace("https://","").replace("http://",""));
|
|
|
|
}else {
|
|
|
|
((homeController)mHomeController.get()).onManualDownloadFileName(pData.get(2).toString(),(String)pData.get(0));
|
|
|
|
}
|
|
|
|
}
|
2021-04-26 23:25:23 +02:00
|
|
|
}
|
2021-03-06 19:55:24 +01:00
|
|
|
}
|
2021-01-28 11:22:41 +01:00
|
|
|
else if(pEventType.equals(M_CANCEL_WELCOME)){
|
|
|
|
status.sSettingIsWelcomeEnabled = false;
|
2020-10-20 16:55:08 +02:00
|
|
|
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_IS_WELCOME_ENABLED,false));
|
2020-01-24 16:23:31 +01:00
|
|
|
}
|
2021-01-28 11:22:41 +01:00
|
|
|
else if(pEventType.equals(enums.etype.reload)){
|
|
|
|
if((Boolean) mOrbotManager.onTrigger(null, pluginEnums.eOrbotManager.M_IS_ORBOT_RUNNING))
|
2020-01-24 16:23:31 +01:00
|
|
|
{
|
2021-04-11 21:25:15 +02:00
|
|
|
((homeController)mHomeController.get()).onReload(null);
|
2020-01-24 16:23:31 +01:00
|
|
|
}
|
|
|
|
else {
|
2021-01-28 11:22:41 +01:00
|
|
|
mMessageManager.onTrigger(Arrays.asList(mHomeController, Collections.singletonList(pData.get(0).toString())),M_START_ORBOT);
|
2020-01-24 16:23:31 +01:00
|
|
|
}
|
|
|
|
}
|
2021-03-24 22:13:45 +01:00
|
|
|
else if(pEventType.equals(M_OPEN_PRIVACY)){
|
2021-04-11 21:25:15 +02:00
|
|
|
helperMethod.openActivity(settingPrivacyController.class, constants.CONST_LIST_HISTORY, mHomeController.get(),true);
|
2020-01-24 16:23:31 +01:00
|
|
|
}
|
2021-01-28 11:22:41 +01:00
|
|
|
else if(pEventType.equals(M_CLEAR_BOOKMARK)){
|
|
|
|
dataController.getInstance().invokeBookmark(dataEnums.eBookmarkCommands.M_CLEAR_BOOKMARK ,pData);
|
2020-01-24 16:23:31 +01:00
|
|
|
mContextManager.getBookmarkController().onclearData();
|
|
|
|
}
|
2021-04-18 10:37:16 +02:00
|
|
|
else if(pEventType.equals(M_CLEAR_HISTORY)){
|
|
|
|
dataController.getInstance().invokeHistory(dataEnums.eHistoryCommands.M_CLEAR_HISTORY ,pData);
|
|
|
|
mContextManager.getHistoryController().onclearData();
|
|
|
|
}
|
2021-01-28 11:22:41 +01:00
|
|
|
else if(pEventType.equals(M_BOOKMARK)){
|
|
|
|
String [] dataParser = pData.get(0).toString().split("split");
|
2021-07-07 20:42:42 +02:00
|
|
|
dataController.getInstance().invokeBookmark(dataEnums.eBookmarkCommands.M_ADD_BOOKMARK ,Arrays.asList(dataParser[0],pData.get(1).toString()));
|
2020-01-24 16:23:31 +01:00
|
|
|
}
|
2021-01-28 11:22:41 +01:00
|
|
|
else if(pEventType.equals(M_APP_RATED)){
|
2020-10-20 16:55:08 +02:00
|
|
|
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.PROXY_IS_APP_RATED,true));
|
2020-01-24 16:23:31 +01:00
|
|
|
}
|
2021-05-24 17:06:43 +02:00
|
|
|
else if(pEventType.equals(M_CUSTOM_BRIDGE)){
|
|
|
|
return status.sBridgeCustomBridge;
|
|
|
|
}
|
2021-07-07 20:42:42 +02:00
|
|
|
else if(pEventType.equals(M_OPEN_LOGS)){
|
|
|
|
helperMethod.openActivity(orbotLogController.class, constants.CONST_LIST_HISTORY, mHomeController.get(),true);
|
|
|
|
}
|
2021-05-24 17:06:43 +02:00
|
|
|
else if(pEventType.equals(M_BRIDGE_TYPE)){
|
|
|
|
return status.sBridgeCustomType;
|
|
|
|
}
|
2021-07-07 20:42:42 +02:00
|
|
|
else if(pEventType.equals(fetch_favicon)){
|
|
|
|
activityContextManager.getInstance().getHomeController().onGetFavIcon((ImageView) pData.get(0), (String) pData.get(1));
|
|
|
|
}
|
2021-01-28 11:22:41 +01:00
|
|
|
else if(pEventType.equals(M_DOWNLOAD_FILE)){
|
2021-04-11 21:25:15 +02:00
|
|
|
((homeController)mHomeController.get()).onDownloadFile();
|
2020-01-24 16:23:31 +01:00
|
|
|
}
|
2021-01-28 11:22:41 +01:00
|
|
|
else if(pEventType.equals(M_DOWNLOAD_FILE_MANUAL)){
|
2021-04-11 21:25:15 +02:00
|
|
|
((homeController)mHomeController.get()).onManualDownload(pData.get(0).toString());
|
2020-01-24 16:23:31 +01:00
|
|
|
}
|
2021-08-26 15:31:59 +02:00
|
|
|
else if(pEventType.equals(M_LOAD_NEW_TAB)){
|
|
|
|
((homeController)mHomeController.get()).onLoadTab((geckoSession) pData.get(pData.size()-2),false,false,false);
|
|
|
|
}
|
2021-01-28 11:22:41 +01:00
|
|
|
else if(pEventType.equals(M_OPEN_LINK_NEW_TAB)){
|
2021-08-19 22:17:54 +02:00
|
|
|
|
2021-04-11 21:25:15 +02:00
|
|
|
((homeController)mHomeController.get()).postNewLinkTabAnimationInBackgroundTrigger(pData.get(0).toString());
|
2020-01-24 16:23:31 +01:00
|
|
|
}
|
2021-01-28 11:22:41 +01:00
|
|
|
else if(pEventType.equals(M_OPEN_LINK_CURRENT_TAB)){
|
2021-04-11 21:25:15 +02:00
|
|
|
((homeController)mHomeController.get()).onLoadURL(pData.get(0).toString());
|
2020-01-24 16:23:31 +01:00
|
|
|
}
|
2021-01-28 11:22:41 +01:00
|
|
|
else if(pEventType.equals(M_COPY_LINK)){
|
|
|
|
helperMethod.copyURL(pData.get(0).toString(),mContextManager.getHomeController());
|
2020-01-24 16:23:31 +01:00
|
|
|
}
|
2021-01-28 11:22:41 +01:00
|
|
|
else if(pEventType.equals(M_CLEAR_TAB)){
|
2020-11-11 13:11:13 +01:00
|
|
|
dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_CLEAR_TAB, null);
|
2021-04-11 21:25:15 +02:00
|
|
|
((homeController)mHomeController.get()).initTab(true);
|
|
|
|
((homeController)mHomeController.get()).onDisableTabViewController();
|
2020-01-24 16:23:31 +01:00
|
|
|
}
|
2021-02-03 11:54:19 +01:00
|
|
|
else if(pEventType.equals(M_REQUEST_BRIDGES)){
|
|
|
|
pluginController.getInstance().onMessageManagerInvoke(Arrays.asList(constants.CONST_BACKEND_GOOGLE_URL, this), M_BRIDGE_MAIL);
|
|
|
|
}
|
|
|
|
else if(pEventType.equals(M_SET_BRIDGES)){
|
2021-04-05 21:07:02 +02:00
|
|
|
activityContextManager.getInstance().getBridgeController().onUpdateBridges((String) pData.get(0), (String) pData.get(1));
|
2021-02-03 11:54:19 +01:00
|
|
|
}
|
2021-06-29 08:42:33 +02:00
|
|
|
else if(pEventType.equals(M_UNDO_SESSION)){
|
|
|
|
activityContextManager.getInstance().getHomeController().onLoadRecentTab(null);
|
|
|
|
}
|
|
|
|
else if(pEventType.equals(M_UNDO_TAB)){
|
|
|
|
activityContextManager.getInstance().getTabController().onRestoreTab(null);
|
|
|
|
}
|
2021-08-01 11:47:13 +02:00
|
|
|
else if(pEventType.equals(M_SECURITY_INFO)){
|
|
|
|
mMessageManager.onTrigger(Arrays.asList(activityContextManager.getInstance().getHomeController().getSecurityInfo(),mHomeController.get()),M_SECURITY_INFO);
|
|
|
|
}
|
2021-08-19 22:17:54 +02:00
|
|
|
else if(pEventType.equals(M_ADJUST_INPUT_RESIZE)){
|
|
|
|
mHomeController.get().runOnUiThread(() -> mHomeController.get().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE));
|
|
|
|
}
|
2021-08-01 11:47:13 +02:00
|
|
|
else if(pEventType.equals(M_IMAGE_UPDATE_RESTART)){
|
2022-04-02 01:13:29 +02:00
|
|
|
Intent mStartActivity = new Intent(mHomeController.get(), homeController.class);
|
|
|
|
int mPendingIntentId = 123456;
|
|
|
|
PendingIntent mPendingIntent = null;
|
|
|
|
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
|
|
|
|
mPendingIntent = PendingIntent.getActivity(mHomeController.get(), mPendingIntentId, mStartActivity, PendingIntent.FLAG_IMMUTABLE);
|
|
|
|
}else {
|
|
|
|
mPendingIntent = PendingIntent.getActivity(mHomeController.get(), mPendingIntentId, mStartActivity, PendingIntent.FLAG_CANCEL_CURRENT);
|
2021-08-19 22:17:54 +02:00
|
|
|
}
|
2022-04-02 01:13:29 +02:00
|
|
|
AlarmManager mgr = (AlarmManager)mHomeController.get().getSystemService(Context.ALARM_SERVICE);
|
|
|
|
mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 500, mPendingIntent);
|
|
|
|
|
|
|
|
pluginController.getInstance().onOrbotInvoke(Collections.singletonList(status.mThemeApplying), pluginEnums.eOrbotManager.M_DESTROY);
|
|
|
|
activityContextManager.getInstance().getHomeController().onResetData();
|
|
|
|
status.sSettingIsAppStarted = false;
|
|
|
|
mHomeController.get().finishAndRemoveTask();
|
2021-08-01 11:47:13 +02:00
|
|
|
}
|
2020-10-05 13:12:00 +02:00
|
|
|
return null;
|
2020-01-24 16:23:31 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|