LeOS-Genesis/app/src/main/java/com/darkweb/genesissearchengine/appManager/activityContextManager.java

183 lines
6.6 KiB
Java
Raw Normal View History

2020-01-24 16:23:31 +01:00
package com.darkweb.genesissearchengine.appManager;
2021-04-18 10:37:16 +02:00
import android.content.Context;
2021-01-18 11:07:12 +01:00
import androidx.appcompat.app.AppCompatActivity;
2020-01-24 16:23:31 +01:00
import com.darkweb.genesissearchengine.appManager.bookmarkManager.bookmarkController;
2021-02-03 11:54:19 +01:00
import com.darkweb.genesissearchengine.appManager.bridgeManager.bridgeController;
2020-01-24 16:23:31 +01:00
import com.darkweb.genesissearchengine.appManager.historyManager.historyController;
2021-02-03 11:54:19 +01:00
import com.darkweb.genesissearchengine.appManager.homeManager.homeController.homeController;
2020-11-11 13:11:13 +01:00
import com.darkweb.genesissearchengine.appManager.orbotLogManager.orbotLogController;
2021-01-28 11:22:41 +01:00
import com.darkweb.genesissearchengine.appManager.settingManager.generalManager.settingGeneralController;
import com.darkweb.genesissearchengine.appManager.settingManager.settingHomePage.settingHomeController;
2020-01-24 16:23:31 +01:00
import com.darkweb.genesissearchengine.appManager.tabManager.tabController;
2021-04-11 21:25:15 +02:00
import java.lang.ref.WeakReference;
2021-01-18 11:07:12 +01:00
import java.util.ArrayList;
2020-01-24 16:23:31 +01:00
public class activityContextManager
{
/*Private Variables*/
2021-04-11 21:25:15 +02:00
private static activityContextManager ourInstance = new activityContextManager();
2020-01-24 16:23:31 +01:00
public static activityContextManager getInstance()
{
return ourInstance;
}
/*Private Contexts*/
2021-04-11 21:25:15 +02:00
private WeakReference<bridgeController> pBridgeController;
private WeakReference<historyController> pHistoryController;
private WeakReference<bookmarkController> pBookmarkController;
private WeakReference<homeController> pHomeController;
private WeakReference<tabController> pTabController;
private WeakReference<android.app.Activity> pCurrentActivity = null;
private WeakReference<settingHomeController> pSettingController;
private WeakReference<settingGeneralController> pSettingGeneralController;
private WeakReference<orbotLogController> pOrbotLogController;
2021-04-18 10:37:16 +02:00
private WeakReference<Context> pApplicationContext;
2021-04-11 21:25:15 +02:00
private ArrayList<WeakReference<AppCompatActivity>> mStackList;
2020-01-24 16:23:31 +01:00
/*Initialization*/
private activityContextManager()
{
2021-01-18 11:07:12 +01:00
mStackList = new ArrayList<>();
2020-01-24 16:23:31 +01:00
}
/*List ContextGetterSetters*/
public historyController getHistoryController(){
2021-04-11 21:25:15 +02:00
if(pHistoryController==null){
return null;
}
return pHistoryController.get();
2020-01-24 16:23:31 +01:00
}
public void setHistoryController(historyController history_controller){
2021-04-11 21:25:15 +02:00
this.pHistoryController = new WeakReference(history_controller);
2020-01-24 16:23:31 +01:00
}
public bookmarkController getBookmarkController(){
2021-04-11 21:25:15 +02:00
if(pBookmarkController==null){
return null;
}
return pBookmarkController.get();
2020-01-24 16:23:31 +01:00
}
public void setBookmarkController(bookmarkController bookmark_controller){
2021-04-11 21:25:15 +02:00
this.pBookmarkController = new WeakReference(bookmark_controller);
2020-01-24 16:23:31 +01:00
}
2021-02-03 11:54:19 +01:00
public bridgeController getBridgeController(){
2021-04-11 21:25:15 +02:00
if(pBridgeController==null){
return null;
}
return pBridgeController.get();
2021-02-03 11:54:19 +01:00
}
public void setBridgeController(bridgeController bridge_controller){
2021-04-11 21:25:15 +02:00
this.pBridgeController = new WeakReference(bridge_controller);
2021-02-03 11:54:19 +01:00
}
2020-01-24 16:23:31 +01:00
public homeController getHomeController(){
2021-04-11 21:25:15 +02:00
if(pHomeController==null){
return null;
}
return pHomeController.get();
2020-01-24 16:23:31 +01:00
}
2021-04-18 10:37:16 +02:00
public void setApplicationContext(Context pContext){
this.pApplicationContext = new WeakReference(pContext);
}
public Context getApplicationController(){
return pApplicationContext.get();
}
2020-01-24 16:23:31 +01:00
public void setHomeController(homeController home_controller){
2021-04-11 21:25:15 +02:00
this.pHomeController = new WeakReference(home_controller);
2020-01-24 16:23:31 +01:00
}
public tabController getTabController(){
2021-04-11 21:25:15 +02:00
if(pTabController==null){
return null;
}
return pTabController.get();
2020-01-24 16:23:31 +01:00
}
public void setTabController(tabController tab_controller){
2021-04-11 21:25:15 +02:00
this.pTabController = new WeakReference(tab_controller);
2020-01-24 16:23:31 +01:00
}
2020-11-11 13:11:13 +01:00
public orbotLogController getOrbotLogController(){
2021-04-11 21:25:15 +02:00
if(pOrbotLogController==null){
return null;
}
return pOrbotLogController.get();
2020-11-11 13:11:13 +01:00
}
public void setOrbotLogController(orbotLogController pOrbotLogController){
2021-04-11 21:25:15 +02:00
this.pOrbotLogController = new WeakReference(pOrbotLogController);
2020-11-11 13:11:13 +01:00
}
2021-01-28 11:22:41 +01:00
public settingGeneralController getSettingGeneralController(){
2021-04-11 21:25:15 +02:00
if(pSettingGeneralController==null){
return null;
}
return pSettingGeneralController.get();
2021-01-28 11:22:41 +01:00
}
public void setSettingGeneralController(settingGeneralController pSettingGeneralController){
2021-04-11 21:25:15 +02:00
this.pSettingGeneralController = new WeakReference(pSettingGeneralController);
2021-01-28 11:22:41 +01:00
}
public settingHomeController getSettingController(){
2021-04-11 21:25:15 +02:00
if(pSettingController==null){
return null;
}
return pSettingController.get();
2020-11-11 13:11:13 +01:00
}
2021-01-28 11:22:41 +01:00
public void setSettingController(settingHomeController pSettingController){
2021-04-11 21:25:15 +02:00
this.pSettingController = new WeakReference(pSettingController);
2020-11-11 13:11:13 +01:00
}
public void setCurrentActivity(android.app.Activity pCurrentActivity){
2021-04-11 21:25:15 +02:00
this.pCurrentActivity = new WeakReference(pCurrentActivity);
2020-01-24 16:23:31 +01:00
}
2021-01-18 11:07:12 +01:00
public android.app.Activity getCurrentActivity(){
2021-04-11 21:25:15 +02:00
if(pCurrentActivity==null){
return null;
}
return pCurrentActivity.get();
2020-01-24 16:23:31 +01:00
}
2021-01-18 11:07:12 +01:00
2021-04-11 21:25:15 +02:00
public void onStack(AppCompatActivity pActivity) {
try{
if (mStackList.size() > 0) {
if (!mStackList.get(mStackList.size() - 1).get().getLocalClassName().equals(pActivity.getLocalClassName())) {
mStackList.add(new WeakReference(pActivity));
}
}else {
mStackList.add(new WeakReference(pActivity));
}
}catch (Exception ignored){}
2021-01-18 11:07:12 +01:00
}
public void onRemoveStack(AppCompatActivity pActivity){
2021-04-11 21:25:15 +02:00
try{
for(int mCounter=0;mCounter<mStackList.size();mCounter++){
if(mStackList.get(mCounter).get().getLocalClassName().equals(pActivity.getLocalClassName())){
mStackList.remove(mCounter);
mCounter-=1;
}
}
}catch (Exception ignored){}
2021-01-18 11:07:12 +01:00
}
public void onClearStack(){
for(int mCounter=0;mCounter<mStackList.size();mCounter++){
2021-04-11 21:25:15 +02:00
try{
if(!mStackList.get(mCounter).get().isFinishing()){
mStackList.get(mCounter).get().finish();
mStackList.remove(mCounter);
mCounter-=1;
}
}catch (Exception ignored){}
2021-01-18 11:07:12 +01:00
}
}
2020-01-24 16:23:31 +01:00
}