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
|
|
|
}
|