mirror of https://github.com/LeOS-GSI/LeOS-Genesis
parent
c267a8f4eb
commit
a928d311ca
|
@ -29,5 +29,6 @@
|
||||||
<option name="useQualifiedModuleNames" value="true" />
|
<option name="useQualifiedModuleNames" value="true" />
|
||||||
</GradleProjectSettings>
|
</GradleProjectSettings>
|
||||||
</option>
|
</option>
|
||||||
|
<option name="offlineMode" value="true" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
Binary file not shown.
|
@ -0,0 +1,18 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"artifactType": {
|
||||||
|
"type": "APK",
|
||||||
|
"kind": "Directory"
|
||||||
|
},
|
||||||
|
"applicationId": "com.darkweb.genesissearchengine",
|
||||||
|
"variantName": "processAarch64ReleaseResources",
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"type": "SINGLE",
|
||||||
|
"filters": [],
|
||||||
|
"versionCode": 600,
|
||||||
|
"versionName": "600.0",
|
||||||
|
"outputFile": "app-aarch64-release.apk"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -139,7 +139,7 @@
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<activity android:name="com.darkweb.genesissearchengine.appManager.externalNavigationManager.externalNavigationController">
|
<activity android:name="com.darkweb.genesissearchengine.externalNavigationManager.externalNavigationController">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.VIEW" />
|
<action android:name="android.intent.action.VIEW" />
|
||||||
|
|
||||||
|
@ -185,15 +185,6 @@
|
||||||
android:name="com.google.android.gms.ads.APPLICATION_ID"
|
android:name="com.google.android.gms.ads.APPLICATION_ID"
|
||||||
android:value="ca-app-pub-5074525529134731~2926711128" />
|
android:value="ca-app-pub-5074525529134731~2926711128" />
|
||||||
|
|
||||||
<service
|
|
||||||
android:name="com.darkweb.genesissearchengine.helperManager.autoFillService"
|
|
||||||
android:label="Genesis | Secure Autofill"
|
|
||||||
android:permission="android.permission.BIND_AUTOFILL_SERVICE"
|
|
||||||
android:stopWithTask="true">
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="android.service.autofill.AutofillService" />
|
|
||||||
</intent-filter>
|
|
||||||
</service>
|
|
||||||
<service
|
<service
|
||||||
android:name="com.darkweb.genesissearchengine.helperManager.downloadFileService"
|
android:name="com.darkweb.genesissearchengine.helperManager.downloadFileService"
|
||||||
android:enabled="true"
|
android:enabled="true"
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
<body class="clear_selection" id="pBody">
|
<body class="clear_selection" id="pBody">
|
||||||
<div class="hi_container_size">
|
<div class="hi_container_size">
|
||||||
<!--top bar-->
|
<!--top bar-->
|
||||||
<p class="lh_light_header gs-disable-highlight" id="lh_light_header_identifier">
|
<p class="lh_light_header gs-disable-highlight" id="">
|
||||||
<span ><a href="https://boogle.store/search?q=random&p_num=1&s_type=image" class="lh_light_header__catagory lh_light_header__catagory_image">Images</a></span>
|
<span ><a href="https://boogle.store/search?q=random&p_num=1&s_type=image" class="lh_light_header__catagory lh_light_header__catagory_image">Images</a></span>
|
||||||
<span ><a href="http://protonirockerxow.onion" class="lh_light_header__catagory lh_light_header__catagory_bold_mobile">Proton Mail</a></span>
|
<span ><a href="http://protonirockerxow.onion" class="lh_light_header__catagory lh_light_header__catagory_bold_mobile">Proton Mail</a></span>
|
||||||
<span ><a href="https://www.bitfinex.com/" class="lh_light_header__catagory lh_light_header__bold lh_light_header__catagory-spacing-right" id="mobid">Bitcoin Market</a></span>
|
<span ><a href="https://www.bitfinex.com/" class="lh_light_header__catagory lh_light_header__bold lh_light_header__catagory-spacing-right" id="mobid">Bitcoin Market</a></span>
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
text-align: right;
|
text-align: right;
|
||||||
padding-top: 0px;
|
padding-top: 0px;
|
||||||
border-bottom-color:#121212 !important;
|
border-bottom-color:#121212 !important;
|
||||||
padding-top: 11px;
|
padding-top: 10px;
|
||||||
padding-bottom: 15px;
|
padding-bottom: 15px;
|
||||||
border-style: solid;border-right-width: 0;
|
border-style: solid;border-right-width: 0;
|
||||||
border-left-width: 0;border-top-width: 0;
|
border-left-width: 0;border-top-width: 0;
|
||||||
|
@ -31,7 +31,7 @@
|
||||||
@media only screen and (max-width: 943px) {
|
@media only screen and (max-width: 943px) {
|
||||||
.lh_light_header {
|
.lh_light_header {
|
||||||
border-bottom-width: 1px;
|
border-bottom-width: 1px;
|
||||||
padding-bottom: 12px;
|
padding-bottom: 15px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,11 +66,11 @@
|
||||||
color: darkslategray;
|
color: darkslategray;
|
||||||
text-decoration: none !important;
|
text-decoration: none !important;
|
||||||
border-bottom: 4px solid lightslategray;
|
border-bottom: 4px solid lightslategray;
|
||||||
background: whitesmoke;
|
background: #18171c;
|
||||||
}
|
}
|
||||||
.lh_light_header__catagory:focus{
|
.lh_light_header__catagory:focus{
|
||||||
color: darkslategray;
|
color: darkslategray;
|
||||||
text-decoration: none !important;
|
text-decoration: none !important;
|
||||||
border-bottom: 4px solid lightslategray;
|
border-bottom: 4px solid lightslategray;
|
||||||
background: whitesmoke;
|
background: #18171c;
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
text-align: right;
|
text-align: right;
|
||||||
padding-top: 0px;
|
padding-top: 0px;
|
||||||
border-bottom-color:#efefef;
|
border-bottom-color:#efefef;
|
||||||
padding-top: 11px;
|
padding-top: 10px;
|
||||||
padding-bottom: 15px;
|
padding-bottom: 15px;
|
||||||
border-style: solid;border-right-width: 0;
|
border-style: solid;border-right-width: 0;
|
||||||
border-left-width: 0;border-top-width: 0;
|
border-left-width: 0;border-top-width: 0;
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
@media only screen and (max-width: 943px) {
|
@media only screen and (max-width: 943px) {
|
||||||
.lh_light_header {
|
.lh_light_header {
|
||||||
border-bottom-width: 1px;
|
border-bottom-width: 1px;
|
||||||
padding-bottom: 12px;
|
padding-bottom: 15px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,29 +9,31 @@ import com.darkweb.genesissearchengine.appManager.orbotLogManager.orbotLogContro
|
||||||
import com.darkweb.genesissearchengine.appManager.settingManager.generalManager.settingGeneralController;
|
import com.darkweb.genesissearchengine.appManager.settingManager.generalManager.settingGeneralController;
|
||||||
import com.darkweb.genesissearchengine.appManager.settingManager.settingHomePage.settingHomeController;
|
import com.darkweb.genesissearchengine.appManager.settingManager.settingHomePage.settingHomeController;
|
||||||
import com.darkweb.genesissearchengine.appManager.tabManager.tabController;
|
import com.darkweb.genesissearchengine.appManager.tabManager.tabController;
|
||||||
|
|
||||||
|
import java.lang.ref.WeakReference;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class activityContextManager
|
public class activityContextManager
|
||||||
{
|
{
|
||||||
/*Private Variables*/
|
/*Private Variables*/
|
||||||
|
|
||||||
private static final activityContextManager ourInstance = new activityContextManager();
|
private static activityContextManager ourInstance = new activityContextManager();
|
||||||
public static activityContextManager getInstance()
|
public static activityContextManager getInstance()
|
||||||
{
|
{
|
||||||
return ourInstance;
|
return ourInstance;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*Private Contexts*/
|
/*Private Contexts*/
|
||||||
private bridgeController pBridgeController;
|
private WeakReference<bridgeController> pBridgeController;
|
||||||
private historyController pHistoryController;
|
private WeakReference<historyController> pHistoryController;
|
||||||
private bookmarkController pBookmarkController;
|
private WeakReference<bookmarkController> pBookmarkController;
|
||||||
private homeController pHomeController;
|
private WeakReference<homeController> pHomeController;
|
||||||
private tabController pTabController;
|
private WeakReference<tabController> pTabController;
|
||||||
private android.app.Activity pCurrentActivity = null;
|
private WeakReference<android.app.Activity> pCurrentActivity = null;
|
||||||
private settingHomeController pSettingController;
|
private WeakReference<settingHomeController> pSettingController;
|
||||||
private settingGeneralController pSettingGeneralController;
|
private WeakReference<settingGeneralController> pSettingGeneralController;
|
||||||
private orbotLogController pOrbotLogController;
|
private WeakReference<orbotLogController> pOrbotLogController;
|
||||||
private ArrayList<AppCompatActivity> mStackList;
|
private ArrayList<WeakReference<AppCompatActivity>> mStackList;
|
||||||
|
|
||||||
/*Initialization*/
|
/*Initialization*/
|
||||||
|
|
||||||
|
@ -42,85 +44,128 @@ public class activityContextManager
|
||||||
|
|
||||||
/*List ContextGetterSetters*/
|
/*List ContextGetterSetters*/
|
||||||
public historyController getHistoryController(){
|
public historyController getHistoryController(){
|
||||||
return pHistoryController;
|
if(pHistoryController==null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return pHistoryController.get();
|
||||||
}
|
}
|
||||||
public void setHistoryController(historyController history_controller){
|
public void setHistoryController(historyController history_controller){
|
||||||
this.pHistoryController = history_controller;
|
this.pHistoryController = new WeakReference(history_controller);
|
||||||
}
|
}
|
||||||
|
|
||||||
public bookmarkController getBookmarkController(){
|
public bookmarkController getBookmarkController(){
|
||||||
return pBookmarkController;
|
if(pBookmarkController==null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return pBookmarkController.get();
|
||||||
}
|
}
|
||||||
public void setBookmarkController(bookmarkController bookmark_controller){
|
public void setBookmarkController(bookmarkController bookmark_controller){
|
||||||
this.pBookmarkController = bookmark_controller;
|
this.pBookmarkController = new WeakReference(bookmark_controller);
|
||||||
}
|
}
|
||||||
|
|
||||||
public bridgeController getBridgeController(){
|
public bridgeController getBridgeController(){
|
||||||
return pBridgeController;
|
if(pBridgeController==null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return pBridgeController.get();
|
||||||
}
|
}
|
||||||
public void setBridgeController(bridgeController bridge_controller){
|
public void setBridgeController(bridgeController bridge_controller){
|
||||||
this.pBridgeController = bridge_controller;
|
this.pBridgeController = new WeakReference(bridge_controller);
|
||||||
}
|
}
|
||||||
|
|
||||||
public homeController getHomeController(){
|
public homeController getHomeController(){
|
||||||
return pHomeController;
|
if(pHomeController==null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return pHomeController.get();
|
||||||
}
|
}
|
||||||
public void setHomeController(homeController home_controller){
|
public void setHomeController(homeController home_controller){
|
||||||
this.pHomeController = home_controller;
|
this.pHomeController = new WeakReference(home_controller);
|
||||||
}
|
}
|
||||||
|
|
||||||
public tabController getTabController(){
|
public tabController getTabController(){
|
||||||
return pTabController;
|
if(pTabController==null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return pTabController.get();
|
||||||
}
|
}
|
||||||
public void setTabController(tabController tab_controller){
|
public void setTabController(tabController tab_controller){
|
||||||
this.pTabController = tab_controller;
|
this.pTabController = new WeakReference(tab_controller);
|
||||||
}
|
}
|
||||||
|
|
||||||
public orbotLogController getOrbotLogController(){
|
public orbotLogController getOrbotLogController(){
|
||||||
return pOrbotLogController;
|
if(pOrbotLogController==null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return pOrbotLogController.get();
|
||||||
}
|
}
|
||||||
public void setOrbotLogController(orbotLogController pOrbotLogController){
|
public void setOrbotLogController(orbotLogController pOrbotLogController){
|
||||||
this.pOrbotLogController = pOrbotLogController;
|
this.pOrbotLogController = new WeakReference(pOrbotLogController);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public settingGeneralController getSettingGeneralController(){
|
public settingGeneralController getSettingGeneralController(){
|
||||||
return pSettingGeneralController;
|
if(pSettingGeneralController==null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return pSettingGeneralController.get();
|
||||||
}
|
}
|
||||||
public void setSettingGeneralController(settingGeneralController pSettingGeneralController){
|
public void setSettingGeneralController(settingGeneralController pSettingGeneralController){
|
||||||
this.pSettingGeneralController = pSettingGeneralController;
|
this.pSettingGeneralController = new WeakReference(pSettingGeneralController);
|
||||||
}
|
}
|
||||||
|
|
||||||
public settingHomeController getSettingController(){
|
public settingHomeController getSettingController(){
|
||||||
return pSettingController;
|
if(pSettingController==null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return pSettingController.get();
|
||||||
}
|
}
|
||||||
public void setSettingController(settingHomeController pSettingController){
|
public void setSettingController(settingHomeController pSettingController){
|
||||||
this.pSettingController = pSettingController;
|
this.pSettingController = new WeakReference(pSettingController);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCurrentActivity(android.app.Activity pCurrentActivity){
|
public void setCurrentActivity(android.app.Activity pCurrentActivity){
|
||||||
this.pCurrentActivity = pCurrentActivity;
|
this.pCurrentActivity = new WeakReference(pCurrentActivity);
|
||||||
}
|
}
|
||||||
public android.app.Activity getCurrentActivity(){
|
public android.app.Activity getCurrentActivity(){
|
||||||
return pCurrentActivity;
|
if(pCurrentActivity==null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return pCurrentActivity.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onStack(AppCompatActivity pActivity){
|
public void onStack(AppCompatActivity pActivity) {
|
||||||
mStackList.add(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){}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onRemoveStack(AppCompatActivity pActivity){
|
public void onRemoveStack(AppCompatActivity pActivity){
|
||||||
if(mStackList.size()>0 && mStackList.get(mStackList.size()-1).equals(pActivity)){
|
try{
|
||||||
mStackList.remove(mStackList.size()-1);
|
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){}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onClearStack(){
|
public void onClearStack(){
|
||||||
for(int mCounter=0;mCounter<mStackList.size();mCounter++){
|
for(int mCounter=0;mCounter<mStackList.size();mCounter++){
|
||||||
if(!mStackList.get(mCounter).isFinishing()){
|
try{
|
||||||
mStackList.get(mCounter).finish();
|
if(!mStackList.get(mCounter).get().isFinishing()){
|
||||||
mStackList.remove(mCounter);
|
mStackList.get(mCounter).get().finish();
|
||||||
}
|
mStackList.remove(mCounter);
|
||||||
|
mCounter-=1;
|
||||||
|
}
|
||||||
|
}catch (Exception ignored){}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,10 +23,9 @@ import androidx.recyclerview.widget.ItemTouchHelper;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
import com.darkweb.genesissearchengine.appManager.activityContextManager;
|
import com.darkweb.genesissearchengine.appManager.activityContextManager;
|
||||||
import com.darkweb.genesissearchengine.appManager.databaseManager.databaseController;
|
import com.darkweb.genesissearchengine.databaseManager.databaseController;
|
||||||
import com.darkweb.genesissearchengine.appManager.homeManager.homeController.editTextManager;
|
import com.darkweb.genesissearchengine.appManager.homeManager.homeController.editTextManager;
|
||||||
import com.darkweb.genesissearchengine.appManager.homeManager.homeController.homeController;
|
import com.darkweb.genesissearchengine.appManager.homeManager.homeController.homeController;
|
||||||
import com.darkweb.genesissearchengine.appManager.tabManager.tabEnums;
|
|
||||||
import com.darkweb.genesissearchengine.constants.enums;
|
import com.darkweb.genesissearchengine.constants.enums;
|
||||||
import com.darkweb.genesissearchengine.constants.keys;
|
import com.darkweb.genesissearchengine.constants.keys;
|
||||||
import com.darkweb.genesissearchengine.constants.sql;
|
import com.darkweb.genesissearchengine.constants.sql;
|
||||||
|
@ -84,8 +83,8 @@ public class bookmarkController extends AppCompatActivity
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
|
||||||
theme.getInstance().onConfigurationChanged(this);
|
theme.getInstance().onConfigurationChanged(this);
|
||||||
}
|
}
|
||||||
|
@ -165,6 +164,12 @@ public class bookmarkController extends AppCompatActivity
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
activityContextManager.getInstance().setBookmarkController(null);
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
private void initSwipe(){
|
private void initSwipe(){
|
||||||
ItemTouchHelper.SimpleCallback simpleItemTouchCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
|
ItemTouchHelper.SimpleCallback simpleItemTouchCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,8 @@ class bookmarkViewController
|
||||||
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
|
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
||||||
window.setStatusBarColor(ContextCompat.getColor(mContext, R.color.c_text_v3));
|
window.setStatusBarColor(ContextCompat.getColor(mContext, R.color.blue_dark));
|
||||||
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
||||||
|
|
|
@ -49,8 +49,8 @@ public class bridgeController extends AppCompatActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
|
||||||
activityContextManager.getInstance().setBridgeController(this);
|
activityContextManager.getInstance().setBridgeController(this);
|
||||||
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.bridge_settings_view);
|
setContentView(R.layout.bridge_settings_view);
|
||||||
|
|
||||||
|
@ -61,8 +61,8 @@ public class bridgeController extends AppCompatActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
|
||||||
theme.getInstance().onConfigurationChanged(this);
|
theme.getInstance().onConfigurationChanged(this);
|
||||||
}
|
}
|
||||||
|
@ -171,6 +171,13 @@ public class bridgeController extends AppCompatActivity {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
activityContextManager.getInstance().setBridgeController(null);
|
||||||
|
activityContextManager.getInstance().onRemoveStack(this);
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onStop() {
|
protected void onStop() {
|
||||||
super.onStop();
|
super.onStop();
|
||||||
|
@ -178,10 +185,11 @@ public class bridgeController extends AppCompatActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBackPressed() {
|
public void onBackPressed() {
|
||||||
activityContextManager.getInstance().onRemoveStack(this);
|
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*Helper Method*/
|
/*Helper Method*/
|
||||||
|
|
||||||
public void onClose(View view){
|
public void onClose(View view){
|
||||||
|
|
|
@ -56,7 +56,8 @@ class bridgeViewController
|
||||||
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
|
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
||||||
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
window.setStatusBarColor(ContextCompat.getColor(mContext, R.color.blue_dark));
|
||||||
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
||||||
|
|
|
@ -62,9 +62,7 @@ public class helpController extends AppCompatActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
|
|
||||||
theme.getInstance().onConfigurationChanged(this);
|
theme.getInstance().onConfigurationChanged(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -46,6 +46,7 @@ class helpViewController
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
||||||
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
||||||
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
||||||
|
|
|
@ -24,8 +24,7 @@ import androidx.recyclerview.widget.ItemTouchHelper;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
import com.darkweb.genesissearchengine.appManager.activityContextManager;
|
import com.darkweb.genesissearchengine.appManager.activityContextManager;
|
||||||
import com.darkweb.genesissearchengine.appManager.bookmarkManager.bookmarkEnums;
|
import com.darkweb.genesissearchengine.databaseManager.databaseController;
|
||||||
import com.darkweb.genesissearchengine.appManager.databaseManager.databaseController;
|
|
||||||
import com.darkweb.genesissearchengine.appManager.homeManager.homeController.editTextManager;
|
import com.darkweb.genesissearchengine.appManager.homeManager.homeController.editTextManager;
|
||||||
import com.darkweb.genesissearchengine.appManager.homeManager.homeController.homeController;
|
import com.darkweb.genesissearchengine.appManager.homeManager.homeController.homeController;
|
||||||
import com.darkweb.genesissearchengine.constants.enums;
|
import com.darkweb.genesissearchengine.constants.enums;
|
||||||
|
@ -87,8 +86,8 @@ public class historyController extends AppCompatActivity
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
|
||||||
theme.getInstance().onConfigurationChanged(this);
|
theme.getInstance().onConfigurationChanged(this);
|
||||||
}
|
}
|
||||||
|
@ -300,6 +299,8 @@ public class historyController extends AppCompatActivity
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onDestroy() {
|
protected void onDestroy() {
|
||||||
|
activityContextManager.getInstance().onRemoveStack(this);
|
||||||
|
activityContextManager.getInstance().setHistoryController(null);
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,8 @@ class historyViewController
|
||||||
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
|
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
||||||
window.setStatusBarColor(ContextCompat.getColor(mContext, R.color.c_text_v3));
|
window.setStatusBarColor(ContextCompat.getColor(mContext, R.color.blue_dark));
|
||||||
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
||||||
|
|
|
@ -17,7 +17,7 @@ public class NestedGeckoView extends GeckoView {
|
||||||
private final int[] mScrollOffset = new int[2];
|
private final int[] mScrollOffset = new int[2];
|
||||||
private final int[] mScrollConsumed = new int[2];
|
private final int[] mScrollConsumed = new int[2];
|
||||||
private int mNestedOffsetY;
|
private int mNestedOffsetY;
|
||||||
private final NestedScrollingChildHelper mChildHelper;
|
private NestedScrollingChildHelper mChildHelper;
|
||||||
private eventObserver.eventListener mEvent;
|
private eventObserver.eventListener mEvent;
|
||||||
|
|
||||||
|
|
||||||
|
@ -25,8 +25,13 @@ public class NestedGeckoView extends GeckoView {
|
||||||
mEvent = pEvent;
|
mEvent = pEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void onDestroy() {
|
||||||
|
mEvent = null;
|
||||||
|
mChildHelper = null;
|
||||||
|
}
|
||||||
|
|
||||||
public NestedGeckoView(Context context, AttributeSet attrs) {
|
public NestedGeckoView(Context context, AttributeSet attrs) {
|
||||||
super(context, attrs);
|
super(context.getApplicationContext(), attrs);
|
||||||
|
|
||||||
mChildHelper = new NestedScrollingChildHelper(this);
|
mChildHelper = new NestedScrollingChildHelper(this);
|
||||||
setNestedScrollingEnabled(true);
|
setNestedScrollingEnabled(true);
|
||||||
|
|
|
@ -5,6 +5,8 @@ import android.content.Intent;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import com.darkweb.genesissearchengine.appManager.activityContextManager;
|
||||||
import com.darkweb.genesissearchengine.appManager.kotlinHelperLibraries.BrowserIconManager;
|
import com.darkweb.genesissearchengine.appManager.kotlinHelperLibraries.BrowserIconManager;
|
||||||
import com.darkweb.genesissearchengine.constants.*;
|
import com.darkweb.genesissearchengine.constants.*;
|
||||||
import com.darkweb.genesissearchengine.dataManager.dataController;
|
import com.darkweb.genesissearchengine.dataManager.dataController;
|
||||||
|
@ -41,7 +43,6 @@ public class geckoClients
|
||||||
private GeckoRuntime mRuntime = null;
|
private GeckoRuntime mRuntime = null;
|
||||||
private BrowserIconManager mIconManager;
|
private BrowserIconManager mIconManager;
|
||||||
private eventObserver.eventListener event;
|
private eventObserver.eventListener event;
|
||||||
private AppCompatActivity context;
|
|
||||||
|
|
||||||
/*Local Variable*/
|
/*Local Variable*/
|
||||||
|
|
||||||
|
@ -49,7 +50,6 @@ public class geckoClients
|
||||||
|
|
||||||
public void initialize(GeckoView geckoView, eventObserver.eventListener event, AppCompatActivity context, boolean isForced)
|
public void initialize(GeckoView geckoView, eventObserver.eventListener event, AppCompatActivity context, boolean isForced)
|
||||||
{
|
{
|
||||||
this.context = context;
|
|
||||||
this.event = event;
|
this.event = event;
|
||||||
mSessionID = helperMethod.createRandomID();
|
mSessionID = helperMethod.createRandomID();
|
||||||
initRuntimeSettings(context);
|
initRuntimeSettings(context);
|
||||||
|
@ -72,10 +72,10 @@ public class geckoClients
|
||||||
onUpdateFont();
|
onUpdateFont();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onValidateInitializeFromStartup(NestedGeckoView mNestedGeckoView){
|
public void onValidateInitializeFromStartup(NestedGeckoView mNestedGeckoView, AppCompatActivity pcontext){
|
||||||
boolean mStatus = mSession.onValidateInitializeFromStartup();
|
boolean mStatus = mSession.onValidateInitializeFromStartup();
|
||||||
if(mStatus){
|
if(mStatus){
|
||||||
loadURL(mSession.getCurrentURL(), mNestedGeckoView);
|
loadURL(mSession.getCurrentURL(), mNestedGeckoView, pcontext);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -87,7 +87,7 @@ public class geckoClients
|
||||||
public geckoSession initFreeSession(GeckoView pGeckoView, AppCompatActivity pcontext, eventObserver.eventListener event){
|
public geckoSession initFreeSession(GeckoView pGeckoView, AppCompatActivity pcontext, eventObserver.eventListener event){
|
||||||
this.event = event;
|
this.event = event;
|
||||||
initRuntimeSettings(pcontext);
|
initRuntimeSettings(pcontext);
|
||||||
geckoSession mTempSession = new geckoSession(new geckoViewClientCallback(),mSessionID,context, pGeckoView);
|
geckoSession mTempSession = new geckoSession(new geckoViewClientCallback(),mSessionID,pcontext, pGeckoView);
|
||||||
mTempSession.open(mRuntime);
|
mTempSession.open(mRuntime);
|
||||||
mTempSession.getSettings().setUseTrackingProtection(status.sStatusDoNotTrack);
|
mTempSession.getSettings().setUseTrackingProtection(status.sStatusDoNotTrack);
|
||||||
mTempSession.getSettings().setFullAccessibilityTree(true);
|
mTempSession.getSettings().setFullAccessibilityTree(true);
|
||||||
|
@ -96,6 +96,14 @@ public class geckoClients
|
||||||
return mTempSession;
|
return mTempSession;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void onDestroy(){
|
||||||
|
mSession.onDestroy();
|
||||||
|
mSession = null;
|
||||||
|
mRuntime = null;
|
||||||
|
mIconManager = null;
|
||||||
|
event = null;
|
||||||
|
}
|
||||||
|
|
||||||
public GeckoRuntime getmRuntime(){
|
public GeckoRuntime getmRuntime(){
|
||||||
return mRuntime;
|
return mRuntime;
|
||||||
}
|
}
|
||||||
|
@ -115,7 +123,7 @@ public class geckoClients
|
||||||
@SuppressLint("WrongConstant")
|
@SuppressLint("WrongConstant")
|
||||||
public void initRuntimeSettings(AppCompatActivity context){
|
public void initRuntimeSettings(AppCompatActivity context){
|
||||||
if(mRuntime==null){
|
if(mRuntime==null){
|
||||||
mRuntime = GeckoRuntime.getDefault(context);
|
mRuntime = GeckoRuntime.getDefault(context.getApplicationContext());
|
||||||
mRuntime.getSettings().setAboutConfigEnabled(true);
|
mRuntime.getSettings().setAboutConfigEnabled(true);
|
||||||
mRuntime.getSettings().setAutomaticFontSizeAdjustment(false);
|
mRuntime.getSettings().setAutomaticFontSizeAdjustment(false);
|
||||||
mRuntime.getSettings().setWebFontsEnabled(status.sShowWebFonts);
|
mRuntime.getSettings().setWebFontsEnabled(status.sShowWebFonts);
|
||||||
|
@ -132,14 +140,14 @@ public class geckoClients
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onGetFavIcon(ImageView pImageView, String pURL){
|
public void onGetFavIcon(ImageView pImageView, String pURL, AppCompatActivity pcontext){
|
||||||
pURL = helperMethod.completeURL(helperMethod.getDomainName(pURL));
|
pURL = helperMethod.completeURL(helperMethod.getDomainName(pURL));
|
||||||
mIconManager.onLoadIconIntoView(context,mRuntime, pImageView, pURL);
|
mIconManager.onLoadIconIntoView(pcontext,mRuntime, pImageView, pURL);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onLoadFavIcon(){
|
public void onLoadFavIcon(AppCompatActivity pcontext){
|
||||||
BrowserIconManager mIconManager = new BrowserIconManager();
|
BrowserIconManager mIconManager = new BrowserIconManager();
|
||||||
mIconManager.onLoadIcon(context, mRuntime);
|
mIconManager.onLoadIcon(pcontext.getApplicationContext(), mRuntime);
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getCookiesBehaviour(){
|
private int getCookiesBehaviour(){
|
||||||
|
@ -147,7 +155,7 @@ public class geckoClients
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("WrongConstant")
|
@SuppressLint("WrongConstant")
|
||||||
public void updateSetting(NestedGeckoView mNestedGeckoView){
|
public void updateSetting(NestedGeckoView mNestedGeckoView, AppCompatActivity pcontext){
|
||||||
mRuntime.getSettings().setRemoteDebuggingEnabled(false);
|
mRuntime.getSettings().setRemoteDebuggingEnabled(false);
|
||||||
mRuntime.getSettings().setWebFontsEnabled(status.sShowWebFonts);
|
mRuntime.getSettings().setWebFontsEnabled(status.sShowWebFonts);
|
||||||
mRuntime.getSettings().getContentBlocking().setCookieBehavior(getCookiesBehaviour());
|
mRuntime.getSettings().getContentBlocking().setCookieBehavior(getCookiesBehaviour());
|
||||||
|
@ -168,7 +176,7 @@ public class geckoClients
|
||||||
mSession.getSettings().setUserAgentMode(USER_AGENT_MODE_MOBILE );
|
mSession.getSettings().setUserAgentMode(USER_AGENT_MODE_MOBILE );
|
||||||
mSession.getSettings().setAllowJavascript(status.sSettingJavaStatus);
|
mSession.getSettings().setAllowJavascript(status.sSettingJavaStatus);
|
||||||
onUpdateFont();
|
onUpdateFont();
|
||||||
onReload(mNestedGeckoView);
|
onReload(mNestedGeckoView, pcontext);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void initSession(geckoSession mSession){
|
public void initSession(geckoSession mSession){
|
||||||
|
@ -192,7 +200,7 @@ public class geckoClients
|
||||||
mSession.initURL(url);
|
mSession.initURL(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void loadURL(String url, NestedGeckoView mNestedGeckoView) {
|
public void loadURL(String url, NestedGeckoView mNestedGeckoView, AppCompatActivity pcontext) {
|
||||||
mSession = (geckoSession)mNestedGeckoView.getSession();
|
mSession = (geckoSession)mNestedGeckoView.getSession();
|
||||||
if(mSession==null){
|
if(mSession==null){
|
||||||
return;
|
return;
|
||||||
|
@ -202,7 +210,7 @@ public class geckoClients
|
||||||
if(!url.startsWith(CONST_REPORT_URL) && (url.startsWith("https://boogle.store/?pG") || url.startsWith("https://boogle.store?pG") || url.endsWith("boogle.store") || url.endsWith(constants.CONST_GENESIS_DOMAIN_URL_SLASHED))){
|
if(!url.startsWith(CONST_REPORT_URL) && (url.startsWith("https://boogle.store/?pG") || url.startsWith("https://boogle.store?pG") || url.endsWith("boogle.store") || url.endsWith(constants.CONST_GENESIS_DOMAIN_URL_SLASHED))){
|
||||||
try{
|
try{
|
||||||
mSession.initURL(constants.CONST_GENESIS_DOMAIN_URL);
|
mSession.initURL(constants.CONST_GENESIS_DOMAIN_URL);
|
||||||
if(status.sTheme == enums.Theme.THEME_LIGHT || helperMethod.isDayMode(context)){
|
if(status.sTheme == enums.Theme.THEME_LIGHT || helperMethod.isDayMode(pcontext)){
|
||||||
String mURL = constants.CONST_GENESIS_URL_CACHED + "?pData="+ dataController.getInstance().invokeReferenceWebsite(dataEnums.eReferenceWebsiteCommands.M_FETCH,null);
|
String mURL = constants.CONST_GENESIS_URL_CACHED + "?pData="+ dataController.getInstance().invokeReferenceWebsite(dataEnums.eReferenceWebsiteCommands.M_FETCH,null);
|
||||||
mSession.getSettings().setAllowJavascript(true);
|
mSession.getSettings().setAllowJavascript(true);
|
||||||
mSession.loadUri(mURL);
|
mSession.loadUri(mURL);
|
||||||
|
@ -218,7 +226,7 @@ public class geckoClients
|
||||||
try{
|
try{
|
||||||
mSession.initURL(constants.CONST_GENESIS_HELP_URL);
|
mSession.initURL(constants.CONST_GENESIS_HELP_URL);
|
||||||
|
|
||||||
if(status.sTheme == enums.Theme.THEME_LIGHT || helperMethod.isDayMode(context)){
|
if(status.sTheme == enums.Theme.THEME_LIGHT || helperMethod.isDayMode(pcontext)){
|
||||||
mSession.getSettings().setAllowJavascript(true);
|
mSession.getSettings().setAllowJavascript(true);
|
||||||
mSession.loadUri(constants.CONST_GENESIS_HELP_URL_CACHE);
|
mSession.loadUri(constants.CONST_GENESIS_HELP_URL_CACHE);
|
||||||
}else {
|
}else {
|
||||||
|
@ -235,9 +243,9 @@ public class geckoClients
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onRedrawPixel(){
|
public void onRedrawPixel(AppCompatActivity pcontext){
|
||||||
mSession.onRedrawPixel();
|
mSession.onRedrawPixel();
|
||||||
onLoadFavIcon();
|
onLoadFavIcon(pcontext);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onClearSiteData(){
|
public void onClearSiteData(){
|
||||||
|
@ -312,9 +320,9 @@ public class geckoClients
|
||||||
mSession.stop();
|
mSession.stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onReload(NestedGeckoView mNestedGeckoView){
|
public void onReload(NestedGeckoView mNestedGeckoView, AppCompatActivity pcontext){
|
||||||
mSession.stop();
|
mSession.stop();
|
||||||
loadURL(mSession.getCurrentURL(), mNestedGeckoView);
|
loadURL(mSession.getCurrentURL(), mNestedGeckoView, pcontext);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void manual_download(String url, AppCompatActivity context){
|
public void manual_download(String url, AppCompatActivity context){
|
||||||
|
@ -337,16 +345,16 @@ public class geckoClients
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void downloadFile()
|
public void downloadFile(AppCompatActivity pcontext)
|
||||||
{
|
{
|
||||||
if(helperMethod.checkPermissions(context)){
|
if(helperMethod.checkPermissions(pcontext)){
|
||||||
mSession.downloadRequestedFile();
|
mSession.downloadRequestedFile();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void downloadFile(String mURL)
|
public void downloadFile(String mURL, AppCompatActivity pcontext)
|
||||||
{
|
{
|
||||||
if(helperMethod.checkPermissions(context)){
|
if(helperMethod.checkPermissions(pcontext)){
|
||||||
mSession.downloadRequestedFile();
|
mSession.downloadRequestedFile();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -374,7 +382,7 @@ public class geckoClients
|
||||||
WebResponse responseInfo = (WebResponse)data.get(0);
|
WebResponse responseInfo = (WebResponse)data.get(0);
|
||||||
Intent intent = new Intent(Intent.ACTION_VIEW);
|
Intent intent = new Intent(Intent.ACTION_VIEW);
|
||||||
intent.setDataAndTypeAndNormalize(Uri.parse(responseInfo.uri), responseInfo.headers.get("Content-Type"));
|
intent.setDataAndTypeAndNormalize(Uri.parse(responseInfo.uri), responseInfo.headers.get("Content-Type"));
|
||||||
context.startActivity(intent);
|
activityContextManager.getInstance().getHomeController().startActivity(intent);
|
||||||
}catch (Exception ignored){}
|
}catch (Exception ignored){}
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
|
|
|
@ -32,20 +32,16 @@ import android.widget.ScrollView;
|
||||||
import android.widget.Spinner;
|
import android.widget.Spinner;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.TimePicker;
|
import android.widget.TimePicker;
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
import com.darkweb.genesissearchengine.helperManager.PathUtil;
|
import com.darkweb.genesissearchengine.helperManager.PathUtil;
|
||||||
import com.darkweb.genesissearchengine.helperManager.helperMethod;
|
import com.darkweb.genesissearchengine.helperManager.helperMethod;
|
||||||
|
import java.lang.ref.WeakReference;
|
||||||
import java.net.URISyntaxException;
|
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
import org.mozilla.geckoview.AllowOrDeny;
|
import org.mozilla.geckoview.AllowOrDeny;
|
||||||
import org.mozilla.geckoview.GeckoResult;
|
import org.mozilla.geckoview.GeckoResult;
|
||||||
import org.mozilla.geckoview.GeckoSession;
|
import org.mozilla.geckoview.GeckoSession;
|
||||||
|
@ -55,24 +51,24 @@ import org.mozilla.geckoview.SlowScriptResponse;
|
||||||
final class geckoPromptView implements GeckoSession.PromptDelegate {
|
final class geckoPromptView implements GeckoSession.PromptDelegate {
|
||||||
protected static final String LOGTAG = "geckoPromptView";
|
protected static final String LOGTAG = "geckoPromptView";
|
||||||
|
|
||||||
private final Activity mActivity;
|
private final WeakReference<Activity> mActivity;
|
||||||
public int filePickerRequestCode = 1;
|
public int filePickerRequestCode = 1;
|
||||||
private int mFileType;
|
private int mFileType;
|
||||||
private GeckoResult<PromptResponse> mFileResponse;
|
private GeckoResult<PromptResponse> mFileResponse;
|
||||||
private FilePrompt mFilePrompt;
|
private FilePrompt mFilePrompt;
|
||||||
|
|
||||||
public geckoPromptView(final Activity activity) {
|
public geckoPromptView(final Activity activity) {
|
||||||
mActivity = activity;
|
mActivity = new WeakReference(activity);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public GeckoResult<PromptResponse> onAlertPrompt(final GeckoSession session,
|
public GeckoResult<PromptResponse> onAlertPrompt(final GeckoSession session,
|
||||||
final AlertPrompt prompt) {
|
final AlertPrompt prompt) {
|
||||||
final Activity activity = mActivity;
|
final Activity activity = mActivity.get();
|
||||||
if (activity == null) {
|
if (activity == null) {
|
||||||
return GeckoResult.fromValue(prompt.dismiss());
|
return GeckoResult.fromValue(prompt.dismiss());
|
||||||
}
|
}
|
||||||
final AlertDialog.Builder builder = new AlertDialog.Builder(activity)
|
final AlertDialog.Builder builder = new AlertDialog.Builder(activity.getApplicationContext())
|
||||||
.setTitle(prompt.title)
|
.setTitle(prompt.title)
|
||||||
.setMessage(prompt.message)
|
.setMessage(prompt.message)
|
||||||
.setPositiveButton(android.R.string.ok, /* onClickListener */ null);
|
.setPositiveButton(android.R.string.ok, /* onClickListener */ null);
|
||||||
|
@ -84,11 +80,11 @@ final class geckoPromptView implements GeckoSession.PromptDelegate {
|
||||||
@Override
|
@Override
|
||||||
public GeckoResult<PromptResponse> onButtonPrompt(final GeckoSession session,
|
public GeckoResult<PromptResponse> onButtonPrompt(final GeckoSession session,
|
||||||
final ButtonPrompt prompt) {
|
final ButtonPrompt prompt) {
|
||||||
final Activity activity = mActivity;
|
final Activity activity = mActivity.get();
|
||||||
if (activity == null) {
|
if (activity == null) {
|
||||||
return GeckoResult.fromValue(prompt.dismiss());
|
return GeckoResult.fromValue(prompt.dismiss());
|
||||||
}
|
}
|
||||||
final AlertDialog.Builder builder = new AlertDialog.Builder(activity)
|
final AlertDialog.Builder builder = new AlertDialog.Builder(activity.getApplicationContext())
|
||||||
.setTitle(prompt.title)
|
.setTitle(prompt.title)
|
||||||
.setMessage(prompt.message);
|
.setMessage(prompt.message);
|
||||||
|
|
||||||
|
@ -157,11 +153,11 @@ final class geckoPromptView implements GeckoSession.PromptDelegate {
|
||||||
@Override
|
@Override
|
||||||
public GeckoResult<PromptResponse> onTextPrompt(final GeckoSession session,
|
public GeckoResult<PromptResponse> onTextPrompt(final GeckoSession session,
|
||||||
final TextPrompt prompt) {
|
final TextPrompt prompt) {
|
||||||
final Activity activity = mActivity;
|
final Activity activity = mActivity.get();
|
||||||
if (activity == null) {
|
if (activity == null) {
|
||||||
return GeckoResult.fromValue(prompt.dismiss());
|
return GeckoResult.fromValue(prompt.dismiss());
|
||||||
}
|
}
|
||||||
final AlertDialog.Builder builder = new AlertDialog.Builder(activity);
|
final AlertDialog.Builder builder = new AlertDialog.Builder(activity.getApplicationContext());
|
||||||
final LinearLayout container = addStandardLayout(builder, prompt.title, prompt.message);
|
final LinearLayout container = addStandardLayout(builder, prompt.title, prompt.message);
|
||||||
final EditText editText = new EditText(builder.getContext());
|
final EditText editText = new EditText(builder.getContext());
|
||||||
editText.setText(prompt.defaultValue);
|
editText.setText(prompt.defaultValue);
|
||||||
|
@ -185,11 +181,11 @@ final class geckoPromptView implements GeckoSession.PromptDelegate {
|
||||||
@Override
|
@Override
|
||||||
public GeckoResult<PromptResponse> onAuthPrompt(final GeckoSession session,
|
public GeckoResult<PromptResponse> onAuthPrompt(final GeckoSession session,
|
||||||
final AuthPrompt prompt) {
|
final AuthPrompt prompt) {
|
||||||
final Activity activity = mActivity;
|
final Activity activity = mActivity.get();
|
||||||
if (activity == null) {
|
if (activity == null) {
|
||||||
return GeckoResult.fromValue(prompt.dismiss());
|
return GeckoResult.fromValue(prompt.dismiss());
|
||||||
}
|
}
|
||||||
final AlertDialog.Builder builder = new AlertDialog.Builder(activity);
|
final AlertDialog.Builder builder = new AlertDialog.Builder(activity.getApplicationContext());
|
||||||
final LinearLayout container = addStandardLayout(builder, prompt.title, prompt.message);
|
final LinearLayout container = addStandardLayout(builder, prompt.title, prompt.message);
|
||||||
|
|
||||||
final int flags = prompt.authOptions.flags;
|
final int flags = prompt.authOptions.flags;
|
||||||
|
@ -285,12 +281,12 @@ final class geckoPromptView implements GeckoSession.PromptDelegate {
|
||||||
final String message, final int type,
|
final String message, final int type,
|
||||||
final ChoicePrompt.Choice[] choices, final ChoicePrompt prompt,
|
final ChoicePrompt.Choice[] choices, final ChoicePrompt prompt,
|
||||||
final GeckoResult<PromptResponse> res) {
|
final GeckoResult<PromptResponse> res) {
|
||||||
final Activity activity = mActivity;
|
final Activity activity = mActivity.get();
|
||||||
if (activity == null) {
|
if (activity == null) {
|
||||||
res.complete(prompt.dismiss());
|
res.complete(prompt.dismiss());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final AlertDialog.Builder builder = new AlertDialog.Builder(activity);
|
final AlertDialog.Builder builder = new AlertDialog.Builder(activity.getApplicationContext());
|
||||||
addStandardLayout(builder, title, message);
|
addStandardLayout(builder, title, message);
|
||||||
|
|
||||||
final ListView list = new ListView(builder.getContext());
|
final ListView list = new ListView(builder.getContext());
|
||||||
|
@ -476,11 +472,11 @@ final class geckoPromptView implements GeckoSession.PromptDelegate {
|
||||||
@Override
|
@Override
|
||||||
public GeckoResult<PromptResponse> onColorPrompt(final GeckoSession session,
|
public GeckoResult<PromptResponse> onColorPrompt(final GeckoSession session,
|
||||||
final ColorPrompt prompt) {
|
final ColorPrompt prompt) {
|
||||||
final Activity activity = mActivity;
|
final Activity activity = mActivity.get();
|
||||||
if (activity == null) {
|
if (activity == null) {
|
||||||
return GeckoResult.fromValue(prompt.dismiss());
|
return GeckoResult.fromValue(prompt.dismiss());
|
||||||
}
|
}
|
||||||
final AlertDialog.Builder builder = new AlertDialog.Builder(activity);
|
final AlertDialog.Builder builder = new AlertDialog.Builder(activity.getApplicationContext());
|
||||||
addStandardLayout(builder, prompt.title, /* msg */ null);
|
addStandardLayout(builder, prompt.title, /* msg */ null);
|
||||||
|
|
||||||
final int initial = parseColor(prompt.defaultValue, /* def */ 0);
|
final int initial = parseColor(prompt.defaultValue, /* def */ 0);
|
||||||
|
@ -587,7 +583,7 @@ final class geckoPromptView implements GeckoSession.PromptDelegate {
|
||||||
@Override
|
@Override
|
||||||
public GeckoResult<PromptResponse> onDateTimePrompt(final GeckoSession session,
|
public GeckoResult<PromptResponse> onDateTimePrompt(final GeckoSession session,
|
||||||
final DateTimePrompt prompt) {
|
final DateTimePrompt prompt) {
|
||||||
final Activity activity = mActivity;
|
final Activity activity = mActivity.get();
|
||||||
if (activity == null) {
|
if (activity == null) {
|
||||||
return GeckoResult.fromValue(prompt.dismiss());
|
return GeckoResult.fromValue(prompt.dismiss());
|
||||||
}
|
}
|
||||||
|
@ -613,7 +609,7 @@ final class geckoPromptView implements GeckoSession.PromptDelegate {
|
||||||
final Calendar cal = formatter.getCalendar();
|
final Calendar cal = formatter.getCalendar();
|
||||||
cal.setTime(date);
|
cal.setTime(date);
|
||||||
|
|
||||||
final AlertDialog.Builder builder = new AlertDialog.Builder(activity);
|
final AlertDialog.Builder builder = new AlertDialog.Builder(activity.getApplicationContext());
|
||||||
final LayoutInflater inflater = LayoutInflater.from(builder.getContext());
|
final LayoutInflater inflater = LayoutInflater.from(builder.getContext());
|
||||||
final DatePicker datePicker;
|
final DatePicker datePicker;
|
||||||
if (prompt.type == DateTimePrompt.Type.DATE || prompt.type == DateTimePrompt.Type.MONTH ||
|
if (prompt.type == DateTimePrompt.Type.DATE || prompt.type == DateTimePrompt.Type.MONTH ||
|
||||||
|
@ -706,12 +702,12 @@ final class geckoPromptView implements GeckoSession.PromptDelegate {
|
||||||
@TargetApi(19)
|
@TargetApi(19)
|
||||||
public GeckoResult<PromptResponse> onFilePrompt(GeckoSession session, FilePrompt prompt)
|
public GeckoResult<PromptResponse> onFilePrompt(GeckoSession session, FilePrompt prompt)
|
||||||
{
|
{
|
||||||
final Activity activity = mActivity;
|
final Activity activity = mActivity.get();
|
||||||
if (activity == null) {
|
if (activity == null) {
|
||||||
return GeckoResult.fromValue(prompt.dismiss());
|
return GeckoResult.fromValue(prompt.dismiss());
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!helperMethod.checkPermissions((AppCompatActivity)mActivity)){
|
if(!helperMethod.checkPermissions((AppCompatActivity)mActivity.get().getApplicationContext())){
|
||||||
return GeckoResult.fromValue(prompt.dismiss());
|
return GeckoResult.fromValue(prompt.dismiss());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -787,7 +783,7 @@ final class geckoPromptView implements GeckoSession.PromptDelegate {
|
||||||
|
|
||||||
String filePath = null;
|
String filePath = null;
|
||||||
|
|
||||||
filePath = PathUtil.getPath(mActivity.getApplicationContext(),uri);
|
filePath = PathUtil.getPath(mActivity.get().getApplicationContext(),uri);
|
||||||
|
|
||||||
if (filePath==null) {
|
if (filePath==null) {
|
||||||
res.complete(prompt.dismiss());
|
res.complete(prompt.dismiss());
|
||||||
|
@ -800,7 +796,7 @@ final class geckoPromptView implements GeckoSession.PromptDelegate {
|
||||||
|
|
||||||
if (prompt.type == FilePrompt.Type.SINGLE ||
|
if (prompt.type == FilePrompt.Type.SINGLE ||
|
||||||
(prompt.type == FilePrompt.Type.MULTIPLE && clip == null)) {
|
(prompt.type == FilePrompt.Type.MULTIPLE && clip == null)) {
|
||||||
res.complete(prompt.confirm(mActivity, uri));
|
res.complete(prompt.confirm(mActivity.get().getApplicationContext(), uri));
|
||||||
} else if (prompt.type == FilePrompt.Type.MULTIPLE) {
|
} else if (prompt.type == FilePrompt.Type.MULTIPLE) {
|
||||||
if (clip == null) {
|
if (clip == null) {
|
||||||
Log.w(LOGTAG, "No selected file");
|
Log.w(LOGTAG, "No selected file");
|
||||||
|
@ -812,18 +808,18 @@ final class geckoPromptView implements GeckoSession.PromptDelegate {
|
||||||
for (int i = 0; i < count; i++) {
|
for (int i = 0; i < count; i++) {
|
||||||
uris.add(clip.getItemAt(i).getUri());
|
uris.add(clip.getItemAt(i).getUri());
|
||||||
}
|
}
|
||||||
res.complete(prompt.confirm(mActivity, uris.toArray(new Uri[uris.size()])));
|
res.complete(prompt.confirm(mActivity.get().getApplicationContext(), uris.toArray(new Uri[uris.size()])));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onPermissionPrompt(final GeckoSession session, final String title,
|
public void onPermissionPrompt(final GeckoSession session, final String title,
|
||||||
final GeckoSession.PermissionDelegate.Callback callback) {
|
final GeckoSession.PermissionDelegate.Callback callback) {
|
||||||
final Activity activity = mActivity;
|
final Activity activity = mActivity.get();
|
||||||
if (activity == null) {
|
if (activity == null) {
|
||||||
callback.reject();
|
callback.reject();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final AlertDialog.Builder builder = new AlertDialog.Builder(activity);
|
final AlertDialog.Builder builder = new AlertDialog.Builder(activity.getApplicationContext());
|
||||||
builder.setTitle(title)
|
builder.setTitle(title)
|
||||||
.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
|
.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -843,11 +839,11 @@ final class geckoPromptView implements GeckoSession.PromptDelegate {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onSlowScriptPrompt(GeckoSession geckoSession, String title, GeckoResult<SlowScriptResponse> reportAction) {
|
public void onSlowScriptPrompt(GeckoSession geckoSession, String title, GeckoResult<SlowScriptResponse> reportAction) {
|
||||||
final Activity activity = mActivity;
|
final Activity activity = mActivity.get();
|
||||||
if (activity == null) {
|
if (activity == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final AlertDialog.Builder builder = new AlertDialog.Builder(activity);
|
final AlertDialog.Builder builder = new AlertDialog.Builder(activity.getApplicationContext());
|
||||||
builder.setTitle(title)
|
builder.setTitle(title)
|
||||||
.setNegativeButton("Wait", new DialogInterface.OnClickListener() {
|
.setNegativeButton("Wait", new DialogInterface.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -904,12 +900,12 @@ final class geckoPromptView implements GeckoSession.PromptDelegate {
|
||||||
final MediaSource[] video, final MediaSource[] audio,
|
final MediaSource[] video, final MediaSource[] audio,
|
||||||
final String[] videoNames, final String[] audioNames,
|
final String[] videoNames, final String[] audioNames,
|
||||||
final GeckoSession.PermissionDelegate.MediaCallback callback) {
|
final GeckoSession.PermissionDelegate.MediaCallback callback) {
|
||||||
final Activity activity = mActivity;
|
final Activity activity = mActivity.get();
|
||||||
if (activity == null || (video == null && audio == null)) {
|
if (activity == null || (video == null && audio == null)) {
|
||||||
callback.reject();
|
callback.reject();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final AlertDialog.Builder builder = new AlertDialog.Builder(activity);
|
final AlertDialog.Builder builder = new AlertDialog.Builder(activity.getApplicationContext());
|
||||||
final LinearLayout container = addStandardLayout(builder, title, /* msg */ null);
|
final LinearLayout container = addStandardLayout(builder, title, /* msg */ null);
|
||||||
|
|
||||||
final Spinner videoSpinner;
|
final Spinner videoSpinner;
|
||||||
|
|
|
@ -60,6 +60,7 @@ import java.io.File;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
import java.lang.ref.WeakReference;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -92,7 +93,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
|
||||||
private String mCurrentTitle = "loading";
|
private String mCurrentTitle = "loading";
|
||||||
private String mCurrentURL = "about:blank";
|
private String mCurrentURL = "about:blank";
|
||||||
private Uri mUriPermission = null;
|
private Uri mUriPermission = null;
|
||||||
private AppCompatActivity mContext;
|
private WeakReference<AppCompatActivity> mContext;
|
||||||
private geckoDownloadManager mDownloadManager;
|
private geckoDownloadManager mDownloadManager;
|
||||||
private String mTheme = null;
|
private String mTheme = null;
|
||||||
private boolean mPreviousErrorPage = false;
|
private boolean mPreviousErrorPage = false;
|
||||||
|
@ -112,7 +113,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
|
||||||
geckoSession(eventObserver.eventListener event,String mSessionID,AppCompatActivity mContext, GeckoView pGeckoView){
|
geckoSession(eventObserver.eventListener event,String mSessionID,AppCompatActivity mContext, GeckoView pGeckoView){
|
||||||
|
|
||||||
this.mGeckoView = pGeckoView;
|
this.mGeckoView = pGeckoView;
|
||||||
this.mContext = mContext;
|
this.mContext = new WeakReference(mContext);
|
||||||
this.mSessionID = mSessionID;
|
this.mSessionID = mSessionID;
|
||||||
this.event = event;
|
this.event = event;
|
||||||
|
|
||||||
|
@ -128,6 +129,25 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
|
||||||
setPromptDelegate(new geckoPromptView(mContext));
|
setPromptDelegate(new geckoPromptView(mContext));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void onDestroy(){
|
||||||
|
close();
|
||||||
|
setProgressDelegate(null);
|
||||||
|
setHistoryDelegate(null);
|
||||||
|
setNavigationDelegate(null);
|
||||||
|
setContentDelegate(null);
|
||||||
|
setAutoFillDelegate();
|
||||||
|
setPermissionDelegate(null);
|
||||||
|
setScrollDelegate(null);
|
||||||
|
mDownloadManager = null;
|
||||||
|
setPromptDelegate(null);
|
||||||
|
event = null;
|
||||||
|
mContext = null;
|
||||||
|
mDownloadManager = null;
|
||||||
|
mHistoryList = null;
|
||||||
|
mFindHandler = null;
|
||||||
|
mGeckoView = null;
|
||||||
|
}
|
||||||
|
|
||||||
public void onSetInitializeFromStartup(){
|
public void onSetInitializeFromStartup(){
|
||||||
mIsLoaded = true;
|
mIsLoaded = true;
|
||||||
}
|
}
|
||||||
|
@ -162,7 +182,10 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
|
||||||
mFindHandler = new Handler();
|
mFindHandler = new Handler();
|
||||||
mFindHandler.postDelayed(() ->
|
mFindHandler.postDelayed(() ->
|
||||||
{
|
{
|
||||||
mContext.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_USER);
|
if(mContext!=null){
|
||||||
|
mContext.get().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_USER);
|
||||||
|
|
||||||
|
}
|
||||||
}, 1500);
|
}, 1500);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -220,7 +243,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
|
||||||
}
|
}
|
||||||
|
|
||||||
final AutofillManager manager =
|
final AutofillManager manager =
|
||||||
mContext.getSystemService(AutofillManager.class);
|
mContext.get().getApplicationContext().getSystemService(AutofillManager.class);
|
||||||
if (manager == null) {
|
if (manager == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -287,7 +310,9 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
|
||||||
{
|
{
|
||||||
if(!mThemeChanged){
|
if(!mThemeChanged){
|
||||||
mTheme = null;
|
mTheme = null;
|
||||||
event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, mTheme), enums.etype.ON_UPDATE_THEME);
|
if(event!=null) {
|
||||||
|
event.invokeObserver(Arrays.asList(mCurrentURL, mSessionID, mCurrentTitle, mTheme), enums.etype.ON_UPDATE_THEME);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}, 500);
|
}, 500);
|
||||||
}
|
}
|
||||||
|
@ -305,12 +330,12 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
|
||||||
if(progress==100){
|
if(progress==100){
|
||||||
if(!mIsProgressBarChanging){
|
if(!mIsProgressBarChanging){
|
||||||
mIsProgressBarChanging = true;
|
mIsProgressBarChanging = true;
|
||||||
mContext.runOnUiThread(() -> event.invokeObserver(Arrays.asList(mProgress,mSessionID), enums.etype.progress_update));
|
mContext.get().runOnUiThread(() -> event.invokeObserver(Arrays.asList(mProgress,mSessionID), enums.etype.progress_update));
|
||||||
event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, m_current_url_id, mTheme), enums.etype.M_UPDATE_PIXEL_BACKGROUND);
|
event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, m_current_url_id, mTheme), enums.etype.M_UPDATE_PIXEL_BACKGROUND);
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
mIsProgressBarChanging = false;
|
mIsProgressBarChanging = false;
|
||||||
mContext.runOnUiThread(() -> event.invokeObserver(Arrays.asList(mProgress,mSessionID), enums.etype.progress_update));
|
mContext.get().runOnUiThread(() -> event.invokeObserver(Arrays.asList(mProgress,mSessionID), enums.etype.progress_update));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -355,7 +380,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
|
||||||
setURL(constants.CONST_GENESIS_DOMAIN_URL);
|
setURL(constants.CONST_GENESIS_DOMAIN_URL);
|
||||||
}
|
}
|
||||||
else if(newUrl.equals(constants.CONST_GENESIS_HELP_URL_CACHE)){
|
else if(newUrl.equals(constants.CONST_GENESIS_HELP_URL_CACHE)){
|
||||||
if(status.sTheme == enums.Theme.THEME_LIGHT || helperMethod.isDayMode(mContext)){
|
if(status.sTheme == enums.Theme.THEME_LIGHT || helperMethod.isDayMode(mContext.get())){
|
||||||
setURL(constants.CONST_GENESIS_HELP_URL);
|
setURL(constants.CONST_GENESIS_HELP_URL);
|
||||||
}else {
|
}else {
|
||||||
setURL(constants.CONST_GENESIS_HELP_URL_CACHE_DARK);
|
setURL(constants.CONST_GENESIS_HELP_URL_CACHE_DARK);
|
||||||
|
@ -414,7 +439,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
|
||||||
if(mCurrentURL.startsWith(CONST_GENESIS_URL_CACHED) || mCurrentURL.startsWith(CONST_GENESIS_URL_CACHED_DARK)){
|
if(mCurrentURL.startsWith(CONST_GENESIS_URL_CACHED) || mCurrentURL.startsWith(CONST_GENESIS_URL_CACHED_DARK)){
|
||||||
setURL(constants.CONST_GENESIS_DOMAIN_URL);
|
setURL(constants.CONST_GENESIS_DOMAIN_URL);
|
||||||
}else if(mCurrentURL.equals(constants.CONST_GENESIS_HELP_URL_CACHE)){
|
}else if(mCurrentURL.equals(constants.CONST_GENESIS_HELP_URL_CACHE)){
|
||||||
if(status.sTheme == enums.Theme.THEME_LIGHT || helperMethod.isDayMode(mContext)){
|
if(status.sTheme == enums.Theme.THEME_LIGHT || helperMethod.isDayMode(mContext.get())){
|
||||||
setURL(constants.CONST_GENESIS_HELP_URL);
|
setURL(constants.CONST_GENESIS_HELP_URL);
|
||||||
}else {
|
}else {
|
||||||
setURL(constants.CONST_GENESIS_HELP_URL_CACHE_DARK);
|
setURL(constants.CONST_GENESIS_HELP_URL_CACHE_DARK);
|
||||||
|
@ -459,7 +484,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
|
||||||
mPreviousErrorPage = true;
|
mPreviousErrorPage = true;
|
||||||
event.invokeObserver(Arrays.asList(var2,mSessionID), enums.etype.on_load_error);
|
event.invokeObserver(Arrays.asList(var2,mSessionID), enums.etype.on_load_error);
|
||||||
event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, mTheme), enums.etype.ON_UPDATE_THEME);
|
event.invokeObserver(Arrays.asList(mCurrentURL,mSessionID,mCurrentTitle, mTheme), enums.etype.ON_UPDATE_THEME);
|
||||||
return GeckoResult.fromValue("data:text/html," + handler.createErrorPage(var3.category, var3.code,mContext,var2));
|
return GeckoResult.fromValue("data:text/html," + handler.createErrorPage(var3.category, var3.code,mContext.get(),var2));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*Content Delegate*/
|
/*Content Delegate*/
|
||||||
|
@ -468,7 +493,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
|
||||||
public void onExternalResponse(@NonNull GeckoSession session, @NonNull WebResponse response) {
|
public void onExternalResponse(@NonNull GeckoSession session, @NonNull WebResponse response) {
|
||||||
try {
|
try {
|
||||||
if(response.headers.containsKey("Content-Disposition")){
|
if(response.headers.containsKey("Content-Disposition")){
|
||||||
mDownloadManager.downloadFile(response,this,mContext,event);
|
mDownloadManager.downloadFile(response,this,mContext.get(),event);
|
||||||
}else if(response.headers.containsKey("Content-Type")){
|
}else if(response.headers.containsKey("Content-Type")){
|
||||||
event.invokeObserver(Arrays.asList(response,mSessionID), enums.etype.on_handle_external_intent);
|
event.invokeObserver(Arrays.asList(response,mSessionID), enums.etype.on_handle_external_intent);
|
||||||
stop();
|
stop();
|
||||||
|
@ -588,11 +613,11 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
|
||||||
}
|
}
|
||||||
if(var4.type!=0){
|
if(var4.type!=0){
|
||||||
if(var4.linkUri!=null){
|
if(var4.linkUri!=null){
|
||||||
event.invokeObserver(Arrays.asList(var4.linkUri,mSessionID,var4.srcUri,title, mTheme, mContext), M_LONG_PRESS_WITH_LINK);
|
event.invokeObserver(Arrays.asList(var4.linkUri,mSessionID,var4.srcUri,title, mTheme, mContext.get()), M_LONG_PRESS_WITH_LINK);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
try{
|
try{
|
||||||
event.invokeObserver(Arrays.asList(var4.srcUri,mSessionID,title, mTheme, mContext), enums.etype.on_long_press);
|
event.invokeObserver(Arrays.asList(var4.srcUri,mSessionID,title, mTheme, mContext.get()), enums.etype.on_long_press);
|
||||||
}catch (Exception ex){
|
}catch (Exception ex){
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
Log.i("","");
|
Log.i("","");
|
||||||
|
@ -600,7 +625,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
event.invokeObserver(Arrays.asList(var4.linkUri,mSessionID,title, mTheme, mContext), M_LONG_PRESS_URL);
|
event.invokeObserver(Arrays.asList(var4.linkUri,mSessionID,title, mTheme, mContext.get()), M_LONG_PRESS_URL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -625,7 +650,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
|
||||||
{
|
{
|
||||||
if(mDownloadManager.getDownloadURL()!=null && mDownloadManager.getDownloadFile()!=null){
|
if(mDownloadManager.getDownloadURL()!=null && mDownloadManager.getDownloadFile()!=null){
|
||||||
if(!createAndSaveFileFromBase64Url(mDownloadManager.getDownloadURL().toString())){
|
if(!createAndSaveFileFromBase64Url(mDownloadManager.getDownloadURL().toString())){
|
||||||
mContext.startService(downloadFileService.getDownloadService(mContext, mDownloadManager.getDownloadURL()+"__"+mDownloadManager.getDownloadFile(), Environment.DIRECTORY_DOWNLOADS));
|
mContext.get().startService(downloadFileService.getDownloadService(mContext.get().getApplicationContext(), mDownloadManager.getDownloadURL()+"__"+mDownloadManager.getDownloadFile(), Environment.DIRECTORY_DOWNLOADS));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -634,7 +659,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
|
||||||
{
|
{
|
||||||
if(downloadURL!=null && downloadFile!=null){
|
if(downloadURL!=null && downloadFile!=null){
|
||||||
if(!createAndSaveFileFromBase64Url(downloadURL.toString())){
|
if(!createAndSaveFileFromBase64Url(downloadURL.toString())){
|
||||||
mContext.startService(downloadFileService.getDownloadService(mContext, downloadURL + "__" + downloadFile, Environment.DIRECTORY_DOWNLOADS));
|
mContext.get().startService(downloadFileService.getDownloadService(mContext.get().getApplicationContext(), downloadURL + "__" + downloadFile, Environment.DIRECTORY_DOWNLOADS));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -645,7 +670,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if(url.startsWith("blob")){
|
else if(url.startsWith("blob")){
|
||||||
Toast toast = Toast.makeText(mContext.getApplicationContext(),
|
Toast toast = Toast.makeText(mContext.get().getApplicationContext(),
|
||||||
"Unable to download urls that contain prefix blob. Not Supported",
|
"Unable to download urls that contain prefix blob. Not Supported",
|
||||||
Toast.LENGTH_SHORT);
|
Toast.LENGTH_SHORT);
|
||||||
|
|
||||||
|
@ -681,7 +706,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
|
||||||
os.close();
|
os.close();
|
||||||
|
|
||||||
//Tell the media scanner about the new file so that it is immediately available to the user.
|
//Tell the media scanner about the new file so that it is immediately available to the user.
|
||||||
MediaScannerConnection.scanFile(mContext,
|
MediaScannerConnection.scanFile(mContext.get().getApplicationContext(),
|
||||||
new String[]{file.toString()}, null,
|
new String[]{file.toString()}, null,
|
||||||
(path1, uri) ->
|
(path1, uri) ->
|
||||||
{
|
{
|
||||||
|
@ -693,20 +718,20 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
|
||||||
String mimetype = url.substring(url.indexOf(":") + 1, url.indexOf("/"));
|
String mimetype = url.substring(url.indexOf(":") + 1, url.indexOf("/"));
|
||||||
Intent intent = new Intent();
|
Intent intent = new Intent();
|
||||||
intent.setAction(android.content.Intent.ACTION_VIEW);
|
intent.setAction(android.content.Intent.ACTION_VIEW);
|
||||||
Uri uri_temp = FileProvider.getUriForFile(mContext,mContext.getString(R.string.GENERAL_FILE_PROVIDER_AUTHORITY), file);
|
Uri uri_temp = FileProvider.getUriForFile(mContext.get().getApplicationContext(),mContext.get().getString(R.string.GENERAL_FILE_PROVIDER_AUTHORITY), file);
|
||||||
intent.setDataAndType(uri_temp, (mimetype + "/*"));
|
intent.setDataAndType(uri_temp, (mimetype + "/*"));
|
||||||
|
|
||||||
List<ResolveInfo> resInfoList = mContext.getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
|
List<ResolveInfo> resInfoList = mContext.get().getApplicationContext().getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
|
||||||
for (ResolveInfo resolveInfo : resInfoList) {
|
for (ResolveInfo resolveInfo : resInfoList) {
|
||||||
String packageName = resolveInfo.activityInfo.packageName;
|
String packageName = resolveInfo.activityInfo.packageName;
|
||||||
mUriPermission = uri_temp;
|
mUriPermission = uri_temp;
|
||||||
mContext.grantUriPermission(packageName, uri_temp, Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION);
|
mContext.get().getApplicationContext().grantUriPermission(packageName, uri_temp, Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION);
|
||||||
}
|
}
|
||||||
PendingIntent pIntent = PendingIntent.getActivity(mContext, 0, intent, 0);
|
PendingIntent pIntent = PendingIntent.getActivity(mContext.get().getApplicationContext(), 0, intent, 0);
|
||||||
|
|
||||||
String channel_id = createNotificationChannel(mContext);
|
String channel_id = createNotificationChannel(mContext.get().getApplicationContext());
|
||||||
assert channel_id != null;
|
assert channel_id != null;
|
||||||
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(mContext, channel_id)
|
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(mContext.get().getApplicationContext(), channel_id)
|
||||||
.setSmallIcon(R.xml.ic_download)
|
.setSmallIcon(R.xml.ic_download)
|
||||||
.setContentTitle(filename)
|
.setContentTitle(filename)
|
||||||
.setContentIntent(pIntent);
|
.setContentIntent(pIntent);
|
||||||
|
@ -714,7 +739,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.MediaDele
|
||||||
notificationBuilder.setAutoCancel(true);
|
notificationBuilder.setAutoCancel(true);
|
||||||
|
|
||||||
int notificationId = 85851;
|
int notificationId = 85851;
|
||||||
NotificationManager notificationManager = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
|
NotificationManager notificationManager = (NotificationManager) mContext.get().getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
|
||||||
notificationManager.notify(notificationId, notificationBuilder.build());
|
notificationManager.notify(notificationId, notificationBuilder.build());
|
||||||
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
|
|
|
@ -32,6 +32,7 @@ import android.webkit.URLUtil;
|
||||||
import android.widget.*;
|
import android.widget.*;
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
import androidx.appcompat.app.AppCompatDelegate;
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
import androidx.core.widget.NestedScrollView;
|
import androidx.core.widget.NestedScrollView;
|
||||||
|
@ -40,7 +41,8 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
import com.darkweb.genesissearchengine.appManager.activityContextManager;
|
import com.darkweb.genesissearchengine.appManager.activityContextManager;
|
||||||
import com.darkweb.genesissearchengine.appManager.bookmarkManager.bookmarkController;
|
import com.darkweb.genesissearchengine.appManager.bookmarkManager.bookmarkController;
|
||||||
import com.darkweb.genesissearchengine.appManager.databaseManager.databaseController;
|
import com.darkweb.genesissearchengine.appManager.tabManager.tabController;
|
||||||
|
import com.darkweb.genesissearchengine.databaseManager.databaseController;
|
||||||
import com.darkweb.genesissearchengine.appManager.historyManager.historyController;
|
import com.darkweb.genesissearchengine.appManager.historyManager.historyController;
|
||||||
import com.darkweb.genesissearchengine.appManager.historyManager.historyRowModel;
|
import com.darkweb.genesissearchengine.appManager.historyManager.historyRowModel;
|
||||||
import com.darkweb.genesissearchengine.appManager.homeManager.geckoManager.NestedGeckoView;
|
import com.darkweb.genesissearchengine.appManager.homeManager.geckoManager.NestedGeckoView;
|
||||||
|
@ -73,6 +75,8 @@ import com.darkweb.genesissearchengine.pluginManager.pluginEnums;
|
||||||
import com.darkweb.genesissearchengine.widget.progressBar.AnimatedProgressBar;
|
import com.darkweb.genesissearchengine.widget.progressBar.AnimatedProgressBar;
|
||||||
import com.example.myapplication.R;
|
import com.example.myapplication.R;
|
||||||
import com.google.android.gms.ads.AdView;
|
import com.google.android.gms.ads.AdView;
|
||||||
|
import com.google.firebase.installations.time.SystemClock;
|
||||||
|
|
||||||
import org.mozilla.geckoview.GeckoResult;
|
import org.mozilla.geckoview.GeckoResult;
|
||||||
import org.mozilla.geckoview.GeckoSession;
|
import org.mozilla.geckoview.GeckoSession;
|
||||||
import org.torproject.android.service.OrbotService;
|
import org.torproject.android.service.OrbotService;
|
||||||
|
@ -96,7 +100,8 @@ import static com.darkweb.genesissearchengine.constants.constants.CONST_GENESIS_
|
||||||
import static com.darkweb.genesissearchengine.constants.enums.etype.GECKO_SCROLL_CHANGED;
|
import static com.darkweb.genesissearchengine.constants.enums.etype.GECKO_SCROLL_CHANGED;
|
||||||
import static com.darkweb.genesissearchengine.constants.enums.etype.M_INITIALIZE_TAB_LINK;
|
import static com.darkweb.genesissearchengine.constants.enums.etype.M_INITIALIZE_TAB_LINK;
|
||||||
import static com.darkweb.genesissearchengine.constants.enums.etype.M_INITIALIZE_TAB_SINGLE;
|
import static com.darkweb.genesissearchengine.constants.enums.etype.M_INITIALIZE_TAB_SINGLE;
|
||||||
import static com.darkweb.genesissearchengine.constants.enums.etype.ON_OPEN_TAB_VIEW;
|
import static com.darkweb.genesissearchengine.constants.enums.etype.M_NEW_LINK_IN_NEW_TAB;
|
||||||
|
import static com.darkweb.genesissearchengine.constants.enums.etype.open_new_tab;
|
||||||
import static com.darkweb.genesissearchengine.pluginManager.pluginEnums.eMessageManager.*;
|
import static com.darkweb.genesissearchengine.pluginManager.pluginEnums.eMessageManager.*;
|
||||||
import static com.darkweb.genesissearchengine.pluginManager.pluginEnums.eMessageManagerCallbacks.M_RATE_APPLICATION;
|
import static com.darkweb.genesissearchengine.pluginManager.pluginEnums.eMessageManagerCallbacks.M_RATE_APPLICATION;
|
||||||
import static java.lang.Character.isLetter;
|
import static java.lang.Character.isLetter;
|
||||||
|
@ -135,6 +140,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
private ImageButton mMenu;
|
private ImageButton mMenu;
|
||||||
private NestedScrollView mNestedScroll;
|
private NestedScrollView mNestedScroll;
|
||||||
private ImageView mBlockerFullSceen;
|
private ImageView mBlockerFullSceen;
|
||||||
|
private ImageView mNewTabBlocker;
|
||||||
private TextView mCopyright;
|
private TextView mCopyright;
|
||||||
private RecyclerView mHintListView;
|
private RecyclerView mHintListView;
|
||||||
private ImageView mSearchLock;
|
private ImageView mSearchLock;
|
||||||
|
@ -167,16 +173,15 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState)
|
protected void onCreate(Bundle savedInstanceState)
|
||||||
{
|
{
|
||||||
|
onInitTheme();
|
||||||
onInitBooleans();
|
onInitBooleans();
|
||||||
orbotLocalConstants.mHomeIntent = getIntent();
|
orbotLocalConstants.mHomeIntent = getIntent();
|
||||||
|
|
||||||
|
|
||||||
getWindow().getDecorView().setBackgroundColor(Color.WHITE);
|
getWindow().getDecorView().setBackgroundColor(Color.WHITE);
|
||||||
pluginController.getInstance().preInitialize(this);
|
pluginController.getInstance().preInitialize(this);
|
||||||
databaseController.getInstance().initialize(this);
|
|
||||||
dataController.getInstance().initialize(this);
|
dataController.getInstance().initialize(this);
|
||||||
status.initStatus();
|
status.initStatus(this);
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
databaseController.getInstance().initialize(this);
|
||||||
trueTime.getInstance().initTime();
|
trueTime.getInstance().initTime();
|
||||||
|
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
@ -233,7 +238,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
}
|
}
|
||||||
|
|
||||||
public void initAdmob(){
|
public void initAdmob(){
|
||||||
pluginController.getInstance().onAdsInvoke(null, pluginEnums.eAdManager.M_INITIALIZE_BANNER_ADS);
|
pluginController.getInstance().onAdsInvoke(Collections.singletonList(this), pluginEnums.eAdManager.M_INITIALIZE_BANNER_ADS);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onInitBooleans(){
|
public void onInitBooleans(){
|
||||||
|
@ -264,6 +269,14 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
mHomeViewController.splashScreenDisableInstant();
|
mHomeViewController.splashScreenDisableInstant();
|
||||||
onLoadTabOnResume();
|
onLoadTabOnResume();
|
||||||
mSearchLock.setColorFilter(ContextCompat.getColor(this, R.color.c_lock_tint));
|
mSearchLock.setColorFilter(ContextCompat.getColor(this, R.color.c_lock_tint));
|
||||||
|
}else {
|
||||||
|
new Handler().postDelayed(() ->
|
||||||
|
{
|
||||||
|
mTabFragment.setAlpha(1f);
|
||||||
|
mTabFragment.setVisibility(View.VISIBLE);
|
||||||
|
activityContextManager.getInstance().getTabController().onInit();
|
||||||
|
mTabFragment.setVisibility(View.GONE);
|
||||||
|
}, 500);
|
||||||
}
|
}
|
||||||
initSuggestionView(new ArrayList<>(), strings.GENERIC_EMPTY_STR);
|
initSuggestionView(new ArrayList<>(), strings.GENERIC_EMPTY_STR);
|
||||||
}
|
}
|
||||||
|
@ -284,7 +297,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
onLoadURL(model.getSession().getCurrentURL());
|
onLoadURL(model.getSession().getCurrentURL());
|
||||||
}
|
}
|
||||||
|
|
||||||
mGeckoClient.onValidateInitializeFromStartup(mGeckoView);
|
mGeckoClient.onValidateInitializeFromStartup(mGeckoView, homeController.this);
|
||||||
mGeckoClient.onSessionReinit();
|
mGeckoClient.onSessionReinit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -321,7 +334,6 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
if(!status.mThemeApplying){
|
if(!status.mThemeApplying){
|
||||||
mHomeViewController.onUpdateSearchBar(mGeckoClient.getSession().getCurrentURL(), false, false, false);
|
mHomeViewController.onUpdateSearchBar(mGeckoClient.getSession().getCurrentURL(), false, false, false);
|
||||||
}
|
}
|
||||||
status.mThemeApplying = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("ClickableViewAccessibility")
|
@SuppressLint("ClickableViewAccessibility")
|
||||||
|
@ -420,16 +432,17 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
mTabFragment = findViewById(R.id.mTabFragment);
|
mTabFragment = findViewById(R.id.mTabFragment);
|
||||||
mPopupLoadNewTab = findViewById(R.id.pPopupLoadNewTab);
|
mPopupLoadNewTab = findViewById(R.id.pPopupLoadNewTab);
|
||||||
mTopBarHider = findViewById(R.id.pTopBarHider);
|
mTopBarHider = findViewById(R.id.pTopBarHider);
|
||||||
|
mNewTabBlocker = findViewById(R.id.pNewTabBlocker);
|
||||||
|
|
||||||
mGeckoView.setSaveEnabled(false);
|
mGeckoView.setSaveEnabled(false);
|
||||||
mGeckoView.setSaveFromParentEnabled(false);
|
mGeckoView.setSaveFromParentEnabled(false);
|
||||||
mGeckoView.setAutofillEnabled(true);
|
mGeckoView.setAutofillEnabled(true);
|
||||||
|
|
||||||
mGeckoClient = new geckoClients();
|
mGeckoClient = new geckoClients();
|
||||||
mHomeViewController.initialization(new homeViewCallback(),this,mNewTab, mWebViewContainer, mLoadingText, mProgressBar, mSearchbar, mSplashScreen, mLoadingIcon, mBannerAds, mGatewaySplash, mTopBar, mGeckoView, mBackSplash, mConnectButton, mFindBar, mFindText, mFindCount, mTopLayout, mVoiceInput, mMenu, mNestedScroll, mBlocker, mBlockerFullSceen, mSearchEngineBar, mCopyright, mHintListView, mAppBar, mOrbotLogManager, mInfoLandscape, mInfoPortrait, mProgressBarIndeterminate, mTabFragment, mTopBarContainer, mSearchLock, mPopupLoadNewTab, mTopBarHider);
|
mHomeViewController.initialization(new homeViewCallback(),this,mNewTab, mWebViewContainer, mLoadingText, mProgressBar, mSearchbar, mSplashScreen, mLoadingIcon, mBannerAds, mGatewaySplash, mTopBar, mGeckoView, mBackSplash, mConnectButton, mFindBar, mFindText, mFindCount, mTopLayout, mVoiceInput, mMenu, mNestedScroll, mBlocker, mBlockerFullSceen, mSearchEngineBar, mCopyright, mHintListView, mAppBar, mOrbotLogManager, mInfoLandscape, mInfoPortrait, mProgressBarIndeterminate, mTabFragment, mTopBarContainer, mSearchLock, mPopupLoadNewTab, mTopBarHider, mNewTabBlocker);
|
||||||
mGeckoView.onSetHomeEvent(new nestedGeckoViewCallback());
|
mGeckoView.onSetHomeEvent(new nestedGeckoViewCallback());
|
||||||
mGeckoClient.initialize(mGeckoView, new geckoViewCallback(), this,false);
|
mGeckoClient.initialize(mGeckoView, new geckoViewCallback(), this,false);
|
||||||
mGeckoClient.onValidateInitializeFromStartup(mGeckoView);
|
mGeckoClient.onValidateInitializeFromStartup(mGeckoView, homeController.this);
|
||||||
dataController.getInstance().initializeListData();
|
dataController.getInstance().initializeListData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -494,7 +507,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
/*-------------------------------------------------------Helper Methods-------------------------------------------------------*/
|
/*-------------------------------------------------------Helper Methods-------------------------------------------------------*/
|
||||||
|
|
||||||
public void onGetFavIcon(ImageView pImageView, String pURL){
|
public void onGetFavIcon(ImageView pImageView, String pURL){
|
||||||
mGeckoClient.onGetFavIcon(pImageView, pURL);
|
mGeckoClient.onGetFavIcon(pImageView, pURL, homeController.this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onGetThumbnail(ImageView pImageView,boolean pLoadTabView){
|
public void onGetThumbnail(ImageView pImageView,boolean pLoadTabView){
|
||||||
|
@ -524,7 +537,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
|
|
||||||
public void initRuntimeSettings()
|
public void initRuntimeSettings()
|
||||||
{
|
{
|
||||||
mGeckoClient.updateSetting(mGeckoView);
|
mGeckoClient.updateSetting(mGeckoView, homeController.this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onReDrawGeckoview(){
|
public void onReDrawGeckoview(){
|
||||||
|
@ -540,7 +553,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
mAppBar.animate().cancel();
|
mAppBar.animate().cancel();
|
||||||
mHomeViewController.onClearSelections(true);
|
mHomeViewController.onClearSelections(true);
|
||||||
Objects.requireNonNull(mGeckoView.getSession()).stop();
|
Objects.requireNonNull(mGeckoView.getSession()).stop();
|
||||||
mGeckoClient.loadURL(url.replace("genesis.onion","boogle.store"),mGeckoView);
|
mGeckoClient.loadURL(url.replace("genesis.onion","boogle.store"),mGeckoView, homeController.this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onLoadTab(geckoSession mTempSession, boolean isSessionClosed, boolean pExpandAppBar){
|
public void onLoadTab(geckoSession mTempSession, boolean isSessionClosed, boolean pExpandAppBar){
|
||||||
|
@ -567,7 +580,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
mHomeViewController.progressBarReset();
|
mHomeViewController.progressBarReset();
|
||||||
}
|
}
|
||||||
|
|
||||||
mGeckoClient.onValidateInitializeFromStartup(mGeckoView);
|
mGeckoClient.onValidateInitializeFromStartup(mGeckoView, homeController.this);
|
||||||
mGeckoClient.onSessionReinit();
|
mGeckoClient.onSessionReinit();
|
||||||
mHomeViewController.onUpdateStatusBarTheme(mTempSession.getTheme(), false);
|
mHomeViewController.onUpdateStatusBarTheme(mTempSession.getTheme(), false);
|
||||||
mHomeViewController.onUpdateSearchBar(mGeckoClient.getSession().getCurrentURL(), false, false, false);
|
mHomeViewController.onUpdateSearchBar(mGeckoClient.getSession().getCurrentURL(), false, false, false);
|
||||||
|
@ -590,11 +603,33 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
mHomeViewController.onProgressBarUpdate(mGeckoClient.getSession().getProgress(),true);
|
mHomeViewController.onProgressBarUpdate(mGeckoClient.getSession().getProgress(),true);
|
||||||
dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_UPDATE_PIXEL, Arrays.asList(mGeckoClient.getSession().getSessionID(), mRenderedBitmap, null, mGeckoView, false));
|
dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_UPDATE_PIXEL, Arrays.asList(mGeckoClient.getSession().getSessionID(), mRenderedBitmap, null, mGeckoView, false));
|
||||||
|
|
||||||
mGeckoView.invalidate();
|
|
||||||
mGeckoView.refreshDrawableState();
|
TouchView(mGeckoView);
|
||||||
mGeckoView.requestFocus();
|
TouchView(mNestedScroll);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void TouchView(View view)
|
||||||
|
{
|
||||||
|
long downTime = 3000;
|
||||||
|
long eventTime = 3000;
|
||||||
|
float x = 0f;
|
||||||
|
float y = 100f;
|
||||||
|
|
||||||
|
int metaState = 0;
|
||||||
|
MotionEvent motionEvent = MotionEvent.obtain(
|
||||||
|
downTime,
|
||||||
|
eventTime,
|
||||||
|
MotionEvent.ACTION_SCROLL,
|
||||||
|
x,
|
||||||
|
y,
|
||||||
|
metaState
|
||||||
|
);
|
||||||
|
|
||||||
|
view.dispatchTouchEvent(motionEvent);
|
||||||
|
|
||||||
|
view.dispatchTouchEvent(MotionEvent.obtain(0,0,MotionEvent.ACTION_DOWN, 100,100,0.5f,5,0,1,1,0,0));
|
||||||
|
}
|
||||||
/*-------------------------------------------------------USER EVENTS-------------------------------------------------------*/
|
/*-------------------------------------------------------USER EVENTS-------------------------------------------------------*/
|
||||||
|
|
||||||
private BroadcastReceiver downloadStatus = new BroadcastReceiver()
|
private BroadcastReceiver downloadStatus = new BroadcastReceiver()
|
||||||
|
@ -649,12 +684,46 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressLint("ClickableViewAccessibility")
|
||||||
@Override
|
@Override
|
||||||
protected void onDestroy() {
|
protected void onDestroy() {
|
||||||
|
mBackSplash.setImageDrawable(null);
|
||||||
|
mBackSplash.setBackground(null);
|
||||||
if(!status.sSettingIsAppStarted){
|
if(!status.sSettingIsAppStarted){
|
||||||
Intent intent = new Intent(getApplicationContext(), OrbotService.class);
|
Intent intent = new Intent(getApplicationContext(), OrbotService.class);
|
||||||
stopService(intent);
|
stopService(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
KeyboardUtils.removeAllKeyboardToggleListeners();
|
||||||
|
mGatewaySplash.setOnTouchListener(null);
|
||||||
|
|
||||||
|
((ConstraintLayout)mGatewaySplash.getParent()).removeView(mGatewaySplash);
|
||||||
|
((ConstraintLayout)mGeckoView.getParent()).removeView(mGeckoView);
|
||||||
|
((ConstraintLayout)mTabFragment.getParent()).removeView(mTabFragment);
|
||||||
|
((LinearLayout)mSearchbar.getParent()).removeView(mSearchbar);
|
||||||
|
|
||||||
|
mTabFragment = null;
|
||||||
|
mNestedScroll = null;
|
||||||
|
mGeckoView.setOnFocusChangeListener(null);
|
||||||
|
mGeckoView.setOnTouchListener(null);
|
||||||
|
mGeckoView.destroyDrawingCache();
|
||||||
|
mGeckoView.releaseSession();
|
||||||
|
mGeckoClient.onDestroy();
|
||||||
|
|
||||||
|
mGeckoView.onDestroy();
|
||||||
|
mGeckoClient=null;
|
||||||
|
mHomeViewController = null;
|
||||||
|
activityContextManager.getInstance().setHomeController(null);
|
||||||
|
mGeckoView.releaseSession();
|
||||||
|
mGeckoView = null;
|
||||||
|
|
||||||
|
activityContextManager.getInstance().setHomeController(null);
|
||||||
|
activityContextManager.getInstance().setCurrentActivity(null);
|
||||||
|
pluginController.getInstance().onRemoveInstances();
|
||||||
|
|
||||||
|
unregisterReceiver(downloadStatus);
|
||||||
|
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -668,9 +737,9 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
mNewTab.setOnTouchListener((v, event) -> {
|
mNewTab.setOnTouchListener((v, event) -> {
|
||||||
if(event.getAction() == MotionEvent.ACTION_DOWN){
|
if(event.getAction() == MotionEvent.ACTION_DOWN){
|
||||||
onOpenTabViewBoundary(null);
|
onOpenTabViewBoundary(null);
|
||||||
initTabCount(null, null);
|
mNewTab.setPressed(true);
|
||||||
}
|
}
|
||||||
return false;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
mFindText.addTextChangedListener(new TextWatcher() {
|
mFindText.addTextChangedListener(new TextWatcher() {
|
||||||
|
@ -722,7 +791,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
});
|
});
|
||||||
|
|
||||||
mGeckoView.setOnTouchListener((v, event) -> {
|
mGeckoView.setOnTouchListener((v, event) -> {
|
||||||
helperMethod.hideKeyboard(homeController.this);
|
mHomeViewController.onClearSelections(true);
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -851,7 +920,6 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
|
|
||||||
KeyboardUtils.addKeyboardToggleListener(this, isVisible -> isKeyboardOpened = isVisible);
|
KeyboardUtils.addKeyboardToggleListener(this, isVisible -> isKeyboardOpened = isVisible);
|
||||||
|
|
||||||
|
|
||||||
mNestedScroll.setOnScrollChangeListener((NestedScrollView.OnScrollChangeListener) (v, scrollX, scrollY, oldScrollX, oldScrollY) -> {
|
mNestedScroll.setOnScrollChangeListener((NestedScrollView.OnScrollChangeListener) (v, scrollX, scrollY, oldScrollX, oldScrollY) -> {
|
||||||
if(v.getChildAt(v.getChildCount() - 1) != null) {
|
if(v.getChildAt(v.getChildCount() - 1) != null) {
|
||||||
if ((scrollY >= (v.getChildAt(v.getChildCount() - 1).getMeasuredHeight() - v.getMeasuredHeight())) &&
|
if ((scrollY >= (v.getChildAt(v.getChildCount() - 1).getMeasuredHeight() - v.getMeasuredHeight())) &&
|
||||||
|
@ -968,7 +1036,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
initializeGeckoView(true, true);
|
initializeGeckoView(true, true);
|
||||||
mHomeViewController.progressBarReset();
|
mHomeViewController.progressBarReset();
|
||||||
mHomeViewController.onUpdateSearchBar(url,false,true, false);
|
mHomeViewController.onUpdateSearchBar(url,false,true, false);
|
||||||
mGeckoClient.loadURL(url, mGeckoView);
|
mGeckoClient.loadURL(url, mGeckoView, homeController.this);
|
||||||
|
|
||||||
if(isRemovable){
|
if(isRemovable){
|
||||||
mGeckoClient.setRemovableFromBackPressed(true);
|
mGeckoClient.setRemovableFromBackPressed(true);
|
||||||
|
@ -976,8 +1044,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
}
|
}
|
||||||
|
|
||||||
public void postNewLinkTabAnimationInBackgroundTrigger(String url){
|
public void postNewLinkTabAnimationInBackgroundTrigger(String url){
|
||||||
postNewLinkTabAnimationInBackground(dataToStr(url));
|
initTabCount(M_NEW_LINK_IN_NEW_TAB, Collections.singletonList(url));
|
||||||
mHomeViewController.onShowLoadTabDialog();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void postNewLinkTabAnimationInBackground(String url){
|
public void postNewLinkTabAnimationInBackground(String url){
|
||||||
|
@ -987,7 +1054,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
mGeckoClient.initialize(mGeckoView, new geckoViewCallback(), this,true);
|
mGeckoClient.initialize(mGeckoView, new geckoViewCallback(), this,true);
|
||||||
mHomeViewController.progressBarReset();
|
mHomeViewController.progressBarReset();
|
||||||
mGeckoClient.initURL(url);
|
mGeckoClient.initURL(url);
|
||||||
mGeckoClient.loadURL(url, mGeckoView);
|
mGeckoClient.loadURL(url, mGeckoView, homeController.this);
|
||||||
mGeckoClient.getSession().setURL(url);
|
mGeckoClient.getSession().setURL(url);
|
||||||
onSaveCurrentTab(mGeckoClient.getSession(),false);
|
onSaveCurrentTab(mGeckoClient.getSession(),false);
|
||||||
onLoadTab(mSession,false,false);
|
onLoadTab(mSession,false,false);
|
||||||
|
@ -1017,6 +1084,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onOpenLinkNewTab(String url){
|
public void onOpenLinkNewTab(String url){
|
||||||
|
mNewTab.setPressed(true);
|
||||||
final Handler handler = new Handler();
|
final Handler handler = new Handler();
|
||||||
handler.postDelayed(() -> {
|
handler.postDelayed(() -> {
|
||||||
onGetThumbnail(null, false);
|
onGetThumbnail(null, false);
|
||||||
|
@ -1035,7 +1103,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
if(!status.mThemeApplying){
|
if(!status.mThemeApplying){
|
||||||
runOnUiThread(() -> {
|
runOnUiThread(() -> {
|
||||||
mHomeViewController.onShowTabContainer();
|
mHomeViewController.onShowTabContainer();
|
||||||
activityContextManager.getInstance().getTabController().onInit();
|
activityContextManager.getInstance().getTabController().onInitInvoked();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1055,7 +1123,6 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
public void onOpenMenuItem(View view){
|
public void onOpenMenuItem(View view){
|
||||||
pluginController.getInstance().onMessageManagerInvoke(null, M_RESET);
|
pluginController.getInstance().onMessageManagerInvoke(null, M_RESET);
|
||||||
initLocalLanguage();
|
initLocalLanguage();
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
|
||||||
|
|
||||||
helperMethod.hideKeyboard(this);
|
helperMethod.hideKeyboard(this);
|
||||||
mHomeViewController.onOpenMenu(view,mGeckoClient.canGoForward(),!(mProgressBar.getAlpha()<=0 || mProgressBar.getVisibility() ==View.INVISIBLE),mGeckoClient.getUserAgent());
|
mHomeViewController.onOpenMenu(view,mGeckoClient.canGoForward(),!(mProgressBar.getAlpha()<=0 || mProgressBar.getVisibility() ==View.INVISIBLE),mGeckoClient.getUserAgent());
|
||||||
|
@ -1082,7 +1149,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
@Override
|
@Override
|
||||||
public void onBackPressed(){
|
public void onBackPressed(){
|
||||||
if(mTabFragment.getVisibility()==View.VISIBLE){
|
if(mTabFragment.getVisibility()==View.VISIBLE){
|
||||||
if(activityContextManager.getInstance().getTabController().getSelectionCount()>0){
|
if(activityContextManager.getInstance().getTabController().isSelectionOpened()){
|
||||||
activityContextManager.getInstance().getTabController().onClearSelection(null);
|
activityContextManager.getInstance().getTabController().onClearSelection(null);
|
||||||
}else {
|
}else {
|
||||||
onResumeDump();
|
onResumeDump();
|
||||||
|
@ -1143,7 +1210,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
mHomeViewController.closeMenu();
|
mHomeViewController.closeMenu();
|
||||||
|
|
||||||
final Handler handler = new Handler();
|
final Handler handler = new Handler();
|
||||||
handler.postDelayed(() -> mGeckoClient.onRedrawPixel(), 300);
|
handler.postDelayed(() -> mGeckoClient.onRedrawPixel(homeController.this), 300);
|
||||||
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
|
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
|
||||||
mHomeViewController.setOrientation(true);
|
mHomeViewController.setOrientation(true);
|
||||||
if(mGeckoClient.getFullScreenStatus())
|
if(mGeckoClient.getFullScreenStatus())
|
||||||
|
@ -1171,7 +1238,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
if(mSearchEngineBar.getVisibility() == View.VISIBLE){
|
if(mSearchEngineBar.getVisibility() == View.VISIBLE){
|
||||||
mHomeViewController.onClearSelections(true);
|
mHomeViewController.onClearSelections(true);
|
||||||
}
|
}
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_RESUME);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1234,11 +1301,28 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
mAppRestarted = true;
|
mAppRestarted = true;
|
||||||
pluginController.getInstance().onNotificationInvoke(null, pluginEnums.eNotificationManager.M_CLEAR_NOTIFICATION );
|
pluginController.getInstance().onNotificationInvoke(null, pluginEnums.eNotificationManager.M_CLEAR_NOTIFICATION );
|
||||||
|
|
||||||
|
if(!status.mThemeApplying){
|
||||||
|
activityContextManager.getInstance().onClearStack();
|
||||||
|
}
|
||||||
initWidget();
|
initWidget();
|
||||||
initTabCountForced();
|
initTabCountForced();
|
||||||
|
|
||||||
|
if(status.sSettingIsAppStarted && !status.mThemeApplying){
|
||||||
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_INIT_LOCALE);
|
||||||
|
}
|
||||||
|
|
||||||
|
status.mThemeApplying = false;
|
||||||
|
|
||||||
super.onResume();
|
super.onResume();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void onChangeDefaultLanguage(){
|
||||||
|
if(status.sSettingIsAppStarted){
|
||||||
|
setContentView(R.layout.home_view);
|
||||||
|
recreate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void onResumeDump()
|
public void onResumeDump()
|
||||||
{
|
{
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_RESUME);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_RESUME);
|
||||||
|
@ -1336,7 +1420,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onDownloadFile(){
|
public void onDownloadFile(){
|
||||||
mGeckoClient.downloadFile();
|
mGeckoClient.downloadFile(homeController.this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onManualDownload(String url){
|
public void onManualDownload(String url){
|
||||||
|
@ -1454,8 +1538,9 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
}
|
}
|
||||||
else if (menuId == R.id.menu9) {
|
else if (menuId == R.id.menu9) {
|
||||||
helperMethod.hideKeyboard(this);
|
helperMethod.hideKeyboard(this);
|
||||||
mGeckoClient.onRedrawPixel();
|
mGeckoClient.onRedrawPixel(homeController.this);
|
||||||
mHomeViewController.onShowTabContainer();
|
mHomeViewController.onShowTabContainer();
|
||||||
|
Log.i("I AM FUCKED,","I AM FUCKED : 1");
|
||||||
activityContextManager.getInstance().getTabController().onInit();
|
activityContextManager.getInstance().getTabController().onInit();
|
||||||
}
|
}
|
||||||
else if (menuId == R.id.menu8) {
|
else if (menuId == R.id.menu8) {
|
||||||
|
@ -1478,6 +1563,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
else if (menuId == R.id.pMenuOpenRecentTab)
|
else if (menuId == R.id.pMenuOpenRecentTab)
|
||||||
{
|
{
|
||||||
mHomeViewController.onShowTabContainer();
|
mHomeViewController.onShowTabContainer();
|
||||||
|
Log.i("I AM FUCKED,","I AM FUCKED : 1");
|
||||||
activityContextManager.getInstance().getTabController().onInit();
|
activityContextManager.getInstance().getTabController().onInit();
|
||||||
// overridePendingTransition(R.anim.popup_anim_in, R.anim.popup_anim_out);
|
// overridePendingTransition(R.anim.popup_anim_in, R.anim.popup_anim_out);
|
||||||
}
|
}
|
||||||
|
@ -1558,7 +1644,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
if (menuId == R.id.menu26 || menuId == R.id.menu27) {
|
if (menuId == R.id.menu26 || menuId == R.id.menu27) {
|
||||||
helperMethod.hideKeyboard(this);
|
helperMethod.hideKeyboard(this);
|
||||||
mGeckoClient.toogleUserAgent();
|
mGeckoClient.toogleUserAgent();
|
||||||
mGeckoClient.onReload(mGeckoView);
|
mGeckoClient.onReload(mGeckoView, homeController.this);
|
||||||
}
|
}
|
||||||
if(menuId == R.id.menu25){
|
if(menuId == R.id.menu25){
|
||||||
helperMethod.hideKeyboard(this);
|
helperMethod.hideKeyboard(this);
|
||||||
|
@ -1568,7 +1654,25 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
mHomeViewController.closeMenu();
|
mHomeViewController.closeMenu();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void onInitTheme(){
|
||||||
|
|
||||||
|
if(status.mThemeApplying){
|
||||||
|
if(status.sTheme == enums.Theme.THEME_DARK){
|
||||||
|
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
|
||||||
|
}else if(status.sTheme == enums.Theme.THEME_LIGHT){
|
||||||
|
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
|
||||||
|
}else {
|
||||||
|
if(!status.sDefaultNightMode){
|
||||||
|
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
|
||||||
|
}else {
|
||||||
|
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void onReInitTheme(){
|
public void onReInitTheme(){
|
||||||
|
recreate();
|
||||||
mHomeViewController.onUpdateStatusBarTheme(mGeckoClient.getSession().getTheme(), true);
|
mHomeViewController.onUpdateStatusBarTheme(mGeckoClient.getSession().getTheme(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1598,15 +1702,20 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
{
|
{
|
||||||
initTabCountForced();
|
initTabCountForced();
|
||||||
}
|
}
|
||||||
|
else if(e_type.equals(enums.etype.M_NEW_LINK_IN_NEW_TAB))
|
||||||
|
{
|
||||||
|
postNewLinkTabAnimationInBackground(dataToStr(data.get(0)));
|
||||||
|
mHomeViewController.onShowLoadTabDialog();
|
||||||
|
}
|
||||||
|
else if(e_type.equals(open_new_tab))
|
||||||
|
{
|
||||||
|
if(status.sSettingPopupStatus){
|
||||||
|
pluginController.getInstance().onMessageManagerInvoke(Collections.singletonList(homeController.this), M_POPUP_BLOCKED);
|
||||||
|
}else {
|
||||||
|
postNewLinkTabAnimation(dataToStr(data.get(0)), true);
|
||||||
|
}
|
||||||
|
}
|
||||||
else if(e_type.equals(enums.etype.M_CACHE_UPDATE_TAB)){
|
else if(e_type.equals(enums.etype.M_CACHE_UPDATE_TAB)){
|
||||||
new Handler().postDelayed(() ->
|
|
||||||
{
|
|
||||||
mTabFragment.setAlpha(0.01f);
|
|
||||||
mTabFragment.setVisibility(View.VISIBLE);
|
|
||||||
activityContextManager.getInstance().getTabController().onInit();
|
|
||||||
mTabFragment.setVisibility(View.GONE);
|
|
||||||
mHomeViewController.onHideTabContainer();
|
|
||||||
}, 1000);
|
|
||||||
}
|
}
|
||||||
else if(e_type.equals(enums.etype.M_UPDATE_PIXEL_BACKGROUND)){
|
else if(e_type.equals(enums.etype.M_UPDATE_PIXEL_BACKGROUND)){
|
||||||
onInvokePixelGenerator();
|
onInvokePixelGenerator();
|
||||||
|
@ -1623,7 +1732,9 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
}
|
}
|
||||||
else if(e_type.equals(enums.etype.M_UPDATE_THEME))
|
else if(e_type.equals(enums.etype.M_UPDATE_THEME))
|
||||||
{
|
{
|
||||||
mHomeViewController.onUpdateStatusBarTheme(mGeckoClient.getSession().getTheme(), true);
|
if(mGeckoClient!=null) {
|
||||||
|
mHomeViewController.onUpdateStatusBarTheme(mGeckoClient.getSession().getTheme(), true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if(e_type.equals(enums.etype.ON_UPDATE_THEME)){
|
else if(e_type.equals(enums.etype.ON_UPDATE_THEME)){
|
||||||
mHomeViewController.onUpdateStatusBarTheme(mGeckoClient.getSession().getTheme(),false);
|
mHomeViewController.onUpdateStatusBarTheme(mGeckoClient.getSession().getTheme(),false);
|
||||||
|
@ -1648,7 +1759,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
else if(e_type.equals(enums.etype.on_url_load)){
|
else if(e_type.equals(enums.etype.on_url_load)){
|
||||||
if(status.sSettingIsAppRedirected){
|
if(status.sSettingIsAppRedirected){
|
||||||
mHomeViewController.onPageFinished();
|
mHomeViewController.onPageFinished();
|
||||||
mGeckoClient.onRedrawPixel();
|
mGeckoClient.onRedrawPixel(homeController.this);
|
||||||
|
|
||||||
status.sSettingIsAppRedirected = false;
|
status.sSettingIsAppRedirected = false;
|
||||||
onLoadURL(status.sSettingRedirectStatus);
|
onLoadURL(status.sSettingRedirectStatus);
|
||||||
|
@ -1675,7 +1786,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
}
|
}
|
||||||
else if(status.sSettingIsAppStarted){
|
else if(status.sSettingIsAppStarted){
|
||||||
mHomeViewController.onPageFinished();
|
mHomeViewController.onPageFinished();
|
||||||
mGeckoClient.onRedrawPixel();
|
mGeckoClient.onRedrawPixel(homeController.this);
|
||||||
mHomeViewController.onProgressBarUpdate(5, false);
|
mHomeViewController.onProgressBarUpdate(5, false);
|
||||||
onLoadTabOnResume();
|
onLoadTabOnResume();
|
||||||
}
|
}
|
||||||
|
@ -1743,7 +1854,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
@Override
|
@Override
|
||||||
public Object invokeObserver(List<Object> data, Object e_type) {
|
public Object invokeObserver(List<Object> data, Object e_type) {
|
||||||
if(e_type.equals(enums.etype.fetch_favicon)){
|
if(e_type.equals(enums.etype.fetch_favicon)){
|
||||||
mGeckoClient.onGetFavIcon((ImageView) data.get(0), (String) data.get(1));
|
mGeckoClient.onGetFavIcon((ImageView) data.get(0), (String) data.get(1), homeController.this);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -1763,7 +1874,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
|
|
||||||
public void onInvokePixelGenerator(){
|
public void onInvokePixelGenerator(){
|
||||||
|
|
||||||
if(mTabFragment.getVisibility()==View.VISIBLE){
|
if(mTabFragment==null || mTabFragment.getVisibility()==View.VISIBLE){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1779,10 +1890,12 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
}catch (Exception ignored){}
|
}catch (Exception ignored){}
|
||||||
new Handler().postDelayed(() ->
|
new Handler().postDelayed(() ->
|
||||||
{
|
{
|
||||||
if(mTabFragment.getVisibility()!=View.VISIBLE){
|
if(mTabFragment!=null){
|
||||||
dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_UPDATE_PIXEL, Arrays.asList(mGeckoClient.getSession().getSessionID(), mRenderedBitmap, null, mGeckoView, true));
|
if(mTabFragment.getVisibility()!=View.VISIBLE){
|
||||||
}else {
|
dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_UPDATE_PIXEL, Arrays.asList(mGeckoClient.getSession().getSessionID(), mRenderedBitmap, null, mGeckoView, true));
|
||||||
dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_UPDATE_PIXEL, Arrays.asList(mGeckoClient.getSession().getSessionID(), mRenderedBitmap, null, mGeckoView, true));
|
}else {
|
||||||
|
dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_UPDATE_PIXEL, Arrays.asList(mGeckoClient.getSession().getSessionID(), mRenderedBitmap, null, mGeckoView, true));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}, 150);
|
}, 150);
|
||||||
|
|
||||||
|
@ -1851,7 +1964,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
else if(e_type.equals(enums.etype.on_page_loaded)){
|
else if(e_type.equals(enums.etype.on_page_loaded)){
|
||||||
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_IS_BOOTSTRAPPED,true));
|
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_IS_BOOTSTRAPPED,true));
|
||||||
mHomeViewController.onPageFinished();
|
mHomeViewController.onPageFinished();
|
||||||
mGeckoClient.onRedrawPixel();
|
mGeckoClient.onRedrawPixel(homeController.this);
|
||||||
}
|
}
|
||||||
else if(e_type.equals(M_RATE_APPLICATION)){
|
else if(e_type.equals(M_RATE_APPLICATION)){
|
||||||
if(!status.sSettingIsAppRated){
|
if(!status.sSettingIsAppRated){
|
||||||
|
@ -1864,7 +1977,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(homeController.this), pluginEnums.eLangManager.M_SET_LANGUAGE);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(homeController.this), pluginEnums.eLangManager.M_SET_LANGUAGE);
|
||||||
initLocalLanguage();
|
initLocalLanguage();
|
||||||
mHomeViewController.onPageFinished();
|
mHomeViewController.onPageFinished();
|
||||||
mGeckoClient.onRedrawPixel();
|
mGeckoClient.onRedrawPixel(homeController.this);
|
||||||
mHomeViewController.onUpdateSearchBar(dataToStr(data.get(0),mGeckoClient.getSession().getCurrentURL()),false,true, false);
|
mHomeViewController.onUpdateSearchBar(dataToStr(data.get(0),mGeckoClient.getSession().getCurrentURL()),false,true, false);
|
||||||
}
|
}
|
||||||
else if(e_type.equals(enums.etype.search_update)){
|
else if(e_type.equals(enums.etype.search_update)){
|
||||||
|
@ -1893,12 +2006,8 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
else if(e_type.equals(M_LONG_PRESS_URL)){
|
else if(e_type.equals(M_LONG_PRESS_URL)){
|
||||||
pluginController.getInstance().onMessageManagerInvoke(data, M_LONG_PRESS_URL);
|
pluginController.getInstance().onMessageManagerInvoke(data, M_LONG_PRESS_URL);
|
||||||
}
|
}
|
||||||
else if(e_type.equals(enums.etype.open_new_tab)){
|
else if(e_type.equals(open_new_tab)){
|
||||||
if(status.sSettingPopupStatus){
|
initTabCount(open_new_tab, data);
|
||||||
pluginController.getInstance().onMessageManagerInvoke(Collections.singletonList(homeController.this), M_POPUP_BLOCKED);
|
|
||||||
}else {
|
|
||||||
postNewLinkTabAnimation(dataToStr(data.get(0)), true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if(e_type.equals(enums.etype.on_close_sesson)){
|
else if(e_type.equals(enums.etype.on_close_sesson)){
|
||||||
if(!onCloseCurrentTab(mGeckoClient.getSession())){
|
if(!onCloseCurrentTab(mGeckoClient.getSession())){
|
||||||
|
|
|
@ -110,6 +110,7 @@ class homeViewController
|
||||||
private ImageView mSearchLock;
|
private ImageView mSearchLock;
|
||||||
private View mPopupLoadNewTab;
|
private View mPopupLoadNewTab;
|
||||||
private ImageView mTopBarHider;
|
private ImageView mTopBarHider;
|
||||||
|
private ImageView mNewTabBlocker;
|
||||||
|
|
||||||
/*Local Variables*/
|
/*Local Variables*/
|
||||||
private Callable<String> mLogs = null;
|
private Callable<String> mLogs = null;
|
||||||
|
@ -119,7 +120,7 @@ class homeViewController
|
||||||
private Handler mTabDialogHandler = null;
|
private Handler mTabDialogHandler = null;
|
||||||
private Runnable mTabDialogRunnable = null;
|
private Runnable mTabDialogRunnable = null;
|
||||||
|
|
||||||
void initialization(eventObserver.eventListener event, AppCompatActivity context, Button mNewTab, ConstraintLayout webviewContainer, TextView loadingText, AnimatedProgressBar progressBar, editTextManager searchbar, ConstraintLayout splashScreen, ImageView loading, AdView banner_ads, ImageButton gateway_splash, LinearLayout top_bar, GeckoView gecko_view, ImageView backsplash, Button connect_button, View pFindBar, EditText pFindText, TextView pFindCount, androidx.constraintlayout.widget.ConstraintLayout pTopLayout, ImageButton pVoiceInput, ImageButton pMenu, androidx.core.widget.NestedScrollView pNestedScroll, ImageView pBlocker, ImageView pBlockerFullSceen, View mSearchEngineBar, TextView pCopyright, RecyclerView pHistListView, com.google.android.material.appbar.AppBarLayout pAppBar, ImageButton pOrbotLogManager, ConstraintLayout pInfoLandscape, ConstraintLayout pInfoPortrait, ProgressBar pProgressBarIndeterminate, FragmentContainerView pTabFragment, LinearLayout pTopBarContainer, ImageView pSearchLock, View pPopupLoadNewTab, ImageView pTopBarHider){
|
void initialization(eventObserver.eventListener event, AppCompatActivity context, Button mNewTab, ConstraintLayout webviewContainer, TextView loadingText, AnimatedProgressBar progressBar, editTextManager searchbar, ConstraintLayout splashScreen, ImageView loading, AdView banner_ads, ImageButton gateway_splash, LinearLayout top_bar, GeckoView gecko_view, ImageView backsplash, Button connect_button, View pFindBar, EditText pFindText, TextView pFindCount, androidx.constraintlayout.widget.ConstraintLayout pTopLayout, ImageButton pVoiceInput, ImageButton pMenu, androidx.core.widget.NestedScrollView pNestedScroll, ImageView pBlocker, ImageView pBlockerFullSceen, View mSearchEngineBar, TextView pCopyright, RecyclerView pHistListView, com.google.android.material.appbar.AppBarLayout pAppBar, ImageButton pOrbotLogManager, ConstraintLayout pInfoLandscape, ConstraintLayout pInfoPortrait, ProgressBar pProgressBarIndeterminate, FragmentContainerView pTabFragment, LinearLayout pTopBarContainer, ImageView pSearchLock, View pPopupLoadNewTab, ImageView pTopBarHider, ImageView pNewTabBlocker){
|
||||||
this.mContext = context;
|
this.mContext = context;
|
||||||
this.mProgressBar = progressBar;
|
this.mProgressBar = progressBar;
|
||||||
this.mSearchbar = searchbar;
|
this.mSearchbar = searchbar;
|
||||||
|
@ -155,6 +156,7 @@ class homeViewController
|
||||||
this.mSearchLock = pSearchLock;
|
this.mSearchLock = pSearchLock;
|
||||||
this.mPopupLoadNewTab = pPopupLoadNewTab;
|
this.mPopupLoadNewTab = pPopupLoadNewTab;
|
||||||
this.mTopBarHider = pTopBarHider;
|
this.mTopBarHider = pTopBarHider;
|
||||||
|
this.mNewTabBlocker = pNewTabBlocker;
|
||||||
|
|
||||||
initSplashScreen();
|
initSplashScreen();
|
||||||
createUpdateUiHandler();
|
createUpdateUiHandler();
|
||||||
|
@ -237,25 +239,25 @@ class homeViewController
|
||||||
|
|
||||||
if(mTabFragment.getAlpha()==0 || mTabFragment.getAlpha()==1){
|
if(mTabFragment.getAlpha()==0 || mTabFragment.getAlpha()==1){
|
||||||
|
|
||||||
|
onUpdateStatusBarTheme(null, false);
|
||||||
mTabFragment.animate().cancel();
|
mTabFragment.animate().cancel();
|
||||||
mTabFragment.setAlpha(0);
|
mTabFragment.setAlpha(0);
|
||||||
mTabFragment.setVisibility(View.VISIBLE);
|
mTabFragment.setVisibility(View.VISIBLE);
|
||||||
mTabFragment.animate().alpha(1).setDuration(250);
|
mTabFragment.animate().alpha(1).setStartDelay(100).setDuration(150).withEndAction(() -> mNewTab.setPressed(false));
|
||||||
|
|
||||||
onUpdateStatusBarTheme(null, false);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onHideTabContainer(){
|
public void onHideTabContainer(){
|
||||||
if(mTabFragment.getAlpha()>0 || mTabFragment.getVisibility()!=View.GONE){
|
if(mTabFragment.getAlpha()>0 || mTabFragment.getVisibility()!=View.GONE){
|
||||||
|
|
||||||
|
mNewTab.setPressed(false);
|
||||||
new Handler().postDelayed(() ->
|
new Handler().postDelayed(() ->
|
||||||
{
|
{
|
||||||
mTopBarHider.animate().alpha(0).setDuration(250).setStartDelay(0).withEndAction(() -> mTopBarHider.setVisibility(View.GONE));
|
mTopBarHider.animate().alpha(0).setDuration(250).setStartDelay(0).withEndAction(() -> mTopBarHider.setVisibility(View.GONE));
|
||||||
mEvent.invokeObserver(null, enums.etype.M_UPDATE_THEME);
|
mEvent.invokeObserver(null, enums.etype.M_UPDATE_THEME);
|
||||||
}, 250);
|
}, 250);
|
||||||
|
|
||||||
mTabFragment.animate().setDuration(150).setStartDelay(150).alpha(0f).withEndAction(() -> {
|
mTabFragment.animate().setDuration(150).alpha(0f).withEndAction(() -> {
|
||||||
mTabFragment.setVisibility(View.GONE);
|
mTabFragment.setVisibility(View.GONE);
|
||||||
mEvent.invokeObserver(null, enums.etype.M_UPDATE_PIXEL_BACKGROUND);
|
mEvent.invokeObserver(null, enums.etype.M_UPDATE_PIXEL_BACKGROUND);
|
||||||
});
|
});
|
||||||
|
@ -320,6 +322,8 @@ class homeViewController
|
||||||
if(!pStatus){
|
if(!pStatus){
|
||||||
this.mVoiceInput.animate().setDuration(0).alpha(0).withEndAction(() -> {
|
this.mVoiceInput.animate().setDuration(0).alpha(0).withEndAction(() -> {
|
||||||
|
|
||||||
|
mVoiceInput.setClickable(true);
|
||||||
|
mVoiceInput.setFocusable(true);
|
||||||
onUpdateSearchIcon(1);
|
onUpdateSearchIcon(1);
|
||||||
mVoiceInput.setVisibility(View.GONE);
|
mVoiceInput.setVisibility(View.GONE);
|
||||||
mNewTab.setVisibility(View.VISIBLE);
|
mNewTab.setVisibility(View.VISIBLE);
|
||||||
|
@ -360,6 +364,8 @@ class homeViewController
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
mVoiceInput.setVisibility(View.VISIBLE);
|
mVoiceInput.setVisibility(View.VISIBLE);
|
||||||
|
mVoiceInput.setClickable(true);
|
||||||
|
mVoiceInput.setFocusable(true);
|
||||||
}, 0);
|
}, 0);
|
||||||
|
|
||||||
mNewTab.setVisibility(View.GONE);
|
mNewTab.setVisibility(View.GONE);
|
||||||
|
@ -414,6 +420,9 @@ class homeViewController
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(count==0){
|
||||||
|
count=1;
|
||||||
|
}
|
||||||
mNewTab.setText((count+strings.GENERIC_EMPTY_STR));
|
mNewTab.setText((count+strings.GENERIC_EMPTY_STR));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -433,43 +442,48 @@ class homeViewController
|
||||||
}
|
}
|
||||||
|
|
||||||
public void initStatusBarColor(boolean mInstant) {
|
public void initStatusBarColor(boolean mInstant) {
|
||||||
animatedColor oneToTwo = new animatedColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue), ContextCompat.getColor(mContext, R.color.green_dark_v2));
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
animatedColor oneToTwo = new animatedColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue), ContextCompat.getColor(mContext, R.color.green_dark_v2));
|
||||||
|
|
||||||
int mDelay = 800;
|
int mDelay = 800;
|
||||||
if(status.mThemeApplying || mInstant){
|
if(status.mThemeApplying || mInstant){
|
||||||
mDelay = 0;
|
mDelay = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ValueAnimator animator = ObjectAnimator.ofFloat(0f, 1f);
|
||||||
|
animator.setDuration(300).setStartDelay(mDelay);
|
||||||
|
animator.addUpdateListener(animation ->
|
||||||
|
{
|
||||||
|
float v = (float) animation.getAnimatedValue();
|
||||||
|
mContext.getWindow().setStatusBarColor(oneToTwo.with(v));
|
||||||
|
mContext.getWindow().setStatusBarColor(oneToTwo.with(v));
|
||||||
|
mContext.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
});
|
||||||
|
animator.addListener(new AnimatorListenerAdapter() {
|
||||||
|
@Override
|
||||||
|
public void onAnimationEnd(Animator animation) {
|
||||||
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.c_background));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
animator.addListener(new AnimatorListenerAdapter()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void onAnimationEnd(Animator animation)
|
||||||
|
{
|
||||||
|
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
||||||
|
mContext.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
}else {
|
||||||
|
View decorView = mContext.getWindow().getDecorView();
|
||||||
|
decorView.setSystemUiVisibility(decorView.getSystemUiVisibility() & ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
animator.start();
|
||||||
|
}else {
|
||||||
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.c_background));
|
||||||
}
|
}
|
||||||
|
|
||||||
ValueAnimator animator = ObjectAnimator.ofFloat(0f, 1f);
|
|
||||||
animator.setDuration(300).setStartDelay(mDelay);
|
|
||||||
animator.addUpdateListener(animation ->
|
|
||||||
{
|
|
||||||
float v = (float) animation.getAnimatedValue();
|
|
||||||
mContext.getWindow().setStatusBarColor(oneToTwo.with(v));
|
|
||||||
mContext.getWindow().setStatusBarColor(oneToTwo.with(v));
|
|
||||||
mContext.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
|
||||||
});
|
|
||||||
animator.addListener(new AnimatorListenerAdapter() {
|
|
||||||
@Override
|
|
||||||
public void onAnimationEnd(Animator animation) {
|
|
||||||
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.c_background));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
animator.addListener(new AnimatorListenerAdapter()
|
|
||||||
{
|
|
||||||
@Override
|
|
||||||
public void onAnimationEnd(Animator animation)
|
|
||||||
{
|
|
||||||
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
|
||||||
mContext.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
|
||||||
}else {
|
|
||||||
View decorView = mContext.getWindow().getDecorView();
|
|
||||||
decorView.setSystemUiVisibility(decorView.getSystemUiVisibility() & ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
animator.start();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void initializeSuggestionView(ArrayList<historyRowModel> suggestions){
|
void initializeSuggestionView(ArrayList<historyRowModel> suggestions){
|
||||||
|
@ -614,6 +628,7 @@ class homeViewController
|
||||||
mGatewaySplash.setVisibility(View.GONE);
|
mGatewaySplash.setVisibility(View.GONE);
|
||||||
mConnectButton.setVisibility(View.GONE);
|
mConnectButton.setVisibility(View.GONE);
|
||||||
mEvent.invokeObserver(null, enums.etype.M_CACHE_UPDATE_TAB);
|
mEvent.invokeObserver(null, enums.etype.M_CACHE_UPDATE_TAB);
|
||||||
|
mEvent.invokeObserver(null, enums.etype.M_SPLASH_DISABLE);
|
||||||
}));
|
}));
|
||||||
mEvent.invokeObserver(null, enums.etype.M_WELCOME_MESSAGE);
|
mEvent.invokeObserver(null, enums.etype.M_WELCOME_MESSAGE);
|
||||||
mOrbotLogManager.setClickable(false);
|
mOrbotLogManager.setClickable(false);
|
||||||
|
@ -673,7 +688,8 @@ class homeViewController
|
||||||
helperMethod.hideKeyboard(mContext);
|
helperMethod.hideKeyboard(mContext);
|
||||||
popupWindow.setHeight(height);
|
popupWindow.setHeight(height);
|
||||||
}
|
}
|
||||||
if(status.sSettingLanguageRegion.equals("Ur")){
|
|
||||||
|
if(status.sSettingLanguageRegion.equals("Ur") || status.sSettingLanguage.equals("default") && status.mSystemLocale.getLanguage().equals("ur")){
|
||||||
popupWindow.showAtLocation(parent, Gravity.TOP|Gravity.START,0,0);
|
popupWindow.showAtLocation(parent, Gravity.TOP|Gravity.START,0,0);
|
||||||
}else {
|
}else {
|
||||||
popupWindow.showAtLocation(parent, Gravity.TOP|Gravity.END,0,0);
|
popupWindow.showAtLocation(parent, Gravity.TOP|Gravity.END,0,0);
|
||||||
|
@ -844,7 +860,10 @@ class homeViewController
|
||||||
|
|
||||||
public void onUpdateStatusBarTheme(String pTheme, boolean mForced)
|
public void onUpdateStatusBarTheme(String pTheme, boolean mForced)
|
||||||
{
|
{
|
||||||
if(mSplashScreen.getAlpha()<=0 && (status.sTheme != enums.Theme.THEME_DARK && !status.sDefaultNightMode) && mTabFragment.getAlpha()<=0 || mForced){
|
if(mSplashScreen.getAlpha()<=0 && (status.sTheme != enums.Theme.THEME_DARK) && mTabFragment.getAlpha()<=0 || mForced){
|
||||||
|
if(status.sDefaultNightMode && status.sTheme == enums.Theme.THEME_DEFAULT){
|
||||||
|
return;
|
||||||
|
}
|
||||||
int mColor;
|
int mColor;
|
||||||
try{
|
try{
|
||||||
mColor = Color.parseColor(pTheme);
|
mColor = Color.parseColor(pTheme);
|
||||||
|
@ -899,7 +918,7 @@ class homeViewController
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
mContext.getWindow().setStatusBarColor(Color.parseColor(pTheme));
|
mContext.getWindow().setStatusBarColor(Color.parseColor(pTheme));
|
||||||
}else {
|
}else {
|
||||||
mContext.getWindow().setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(helperMethod.isColorDark(mColor)){
|
if(helperMethod.isColorDark(mColor)){
|
||||||
|
@ -918,6 +937,7 @@ class homeViewController
|
||||||
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.c_background));
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.c_background));
|
||||||
}else {
|
}else {
|
||||||
mContext.getWindow().setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
mContext.getWindow().setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
||||||
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue));
|
||||||
}
|
}
|
||||||
|
|
||||||
GradientDrawable gradientDrawable1 = new GradientDrawable();
|
GradientDrawable gradientDrawable1 = new GradientDrawable();
|
||||||
|
@ -948,7 +968,7 @@ class homeViewController
|
||||||
onUpdateSearchIcon(1);
|
onUpdateSearchIcon(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(status.sTheme != enums.Theme.THEME_DARK && !status.sDefaultNightMode){
|
if(status.sTheme != enums.Theme.THEME_DARK || (status.sDefaultNightMode && status.sTheme != enums.Theme.THEME_DEFAULT)){
|
||||||
mContext.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
mContext.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||||
}else {
|
}else {
|
||||||
View decorView = mContext.getWindow().getDecorView();
|
View decorView = mContext.getWindow().getDecorView();
|
||||||
|
@ -1097,7 +1117,61 @@ class homeViewController
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onNewTabAnimation(List<Object> data, Object e_type){
|
public void onNewTabAnimation(List<Object> data, Object e_type){
|
||||||
mEvent.invokeObserver(data, e_type);
|
mGeckoView.setPivotX(0);
|
||||||
|
mGeckoView.setPivotY(0);
|
||||||
|
mGeckoView.setClickable(false);
|
||||||
|
mGeckoView.setFocusable(false);
|
||||||
|
mGeckoView.setEnabled(false);
|
||||||
|
ObjectAnimator scaleDown = ObjectAnimator.ofPropertyValuesHolder(mGeckoView,
|
||||||
|
PropertyValuesHolder.ofFloat("scaleX", 1, 0.35f),
|
||||||
|
PropertyValuesHolder.ofFloat("scaleY", 1, 0.35f));
|
||||||
|
scaleDown.setDuration(300);
|
||||||
|
mNewTabBlocker.setAlpha(0f);
|
||||||
|
mNewTabBlocker.setVisibility(View.VISIBLE);
|
||||||
|
mNewTabBlocker.animate().setDuration(300).alpha(1);
|
||||||
|
mNewTabBlocker.setTranslationZ(100);
|
||||||
|
scaleDown.start();
|
||||||
|
|
||||||
|
scaleDown.addListener(new Animator.AnimatorListener() {
|
||||||
|
@Override
|
||||||
|
public void onAnimationStart(Animator animation, boolean isReverse) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onAnimationEnd(Animator animation, boolean isReverse) {
|
||||||
|
mEvent.invokeObserver(data, e_type);
|
||||||
|
ObjectAnimator scaleDown = ObjectAnimator.ofPropertyValuesHolder(mGeckoView,
|
||||||
|
PropertyValuesHolder.ofFloat("scaleX", 0.35f, 1f),
|
||||||
|
PropertyValuesHolder.ofFloat("scaleY", 0.35f, 1f));
|
||||||
|
scaleDown.setDuration(300);
|
||||||
|
scaleDown.setStartDelay(650);
|
||||||
|
mNewTabBlocker.animate().setStartDelay(650).setDuration(300).alpha(0).withEndAction(() -> {
|
||||||
|
mNewTabBlocker.setAlpha(0f);
|
||||||
|
mNewTabBlocker.setVisibility(View.GONE);
|
||||||
|
});
|
||||||
|
scaleDown.start();
|
||||||
|
mGeckoView.setClickable(true);
|
||||||
|
mGeckoView.setFocusable(true);
|
||||||
|
mGeckoView.setEnabled(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onAnimationStart(Animator animation) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onAnimationEnd(Animator animation) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onAnimationCancel(Animator animation) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onAnimationRepeat(Animator animation) {
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void onClearSelections(boolean hideKeyboard){
|
void onClearSelections(boolean hideKeyboard){
|
||||||
|
|
|
@ -65,8 +65,8 @@ public class languageController extends AppCompatActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
|
||||||
theme.getInstance().onConfigurationChanged(this);
|
theme.getInstance().onConfigurationChanged(this);
|
||||||
}
|
}
|
||||||
|
@ -135,7 +135,7 @@ public class languageController extends AppCompatActivity {
|
||||||
String mSystemLangugage = mSystemLocale.toString();
|
String mSystemLangugage = mSystemLocale.toString();
|
||||||
status.sSettingLanguage = CONST_LANGUAGE_DEFAULT_LANG;
|
status.sSettingLanguage = CONST_LANGUAGE_DEFAULT_LANG;
|
||||||
status.sSettingLanguageRegion = CONST_LANGUAGE_DEFAULT_LANG;
|
status.sSettingLanguageRegion = CONST_LANGUAGE_DEFAULT_LANG;
|
||||||
if(!mSystemLangugage.equals("en_US") && !mSystemLangugage.equals("de_DE") && !mSystemLangugage.equals("ca_ES") && !mSystemLangugage.equals("zh_CN") && !mSystemLangugage.equals("ch_CZ") && !mSystemLangugage.equals("nl_NL") && !mSystemLangugage.equals("fr_FR") && !mSystemLangugage.equals("el_GR") && !mSystemLangugage.equals("hu_HU") && !mSystemLangugage.equals("in_ID") && !mSystemLangugage.equals("it_IT") && !mSystemLangugage.equals("ja_JP") && !mSystemLangugage.equals("ko_KR") && !mSystemLangugage.equals("pt_PT") && !mSystemLangugage.equals("ro_RO") && !mSystemLangugage.equals("ru_RU") && !mSystemLangugage.equals("th_TH") && !mSystemLangugage.equals("tr_TR") && !mSystemLangugage.equals("uk_UA") && !mSystemLangugage.equals("vi_VN")){
|
if(!mSystemLangugage.equals("cs_CZ") && !mSystemLangugage.equals("en_US") && !mSystemLangugage.equals("ur_PK") && !mSystemLangugage.equals("de_DE") && !mSystemLangugage.equals("ca_ES") && !mSystemLangugage.equals("zh_CN") && !mSystemLangugage.equals("ch_CZ") && !mSystemLangugage.equals("nl_NL") && !mSystemLangugage.equals("fr_FR") && !mSystemLangugage.equals("el_GR") && !mSystemLangugage.equals("hu_HU") && !mSystemLangugage.equals("in_ID") && !mSystemLangugage.equals("it_IT") && !mSystemLangugage.equals("ja_JP") && !mSystemLangugage.equals("ko_KR") && !mSystemLangugage.equals("pt_PT") && !mSystemLangugage.equals("ro_RO") && !mSystemLangugage.equals("ru_RU") && !mSystemLangugage.equals("th_TH") && !mSystemLangugage.equals("tr_TR") && !mSystemLangugage.equals("uk_UA") && !mSystemLangugage.equals("vi_VN")){
|
||||||
mDefaultLanguageNotSupported = true;
|
mDefaultLanguageNotSupported = true;
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
|
@ -167,12 +167,21 @@ public class languageController extends AppCompatActivity {
|
||||||
|
|
||||||
status.mThemeApplying = true;
|
status.mThemeApplying = true;
|
||||||
activityContextManager.getInstance().getHomeController().recreate();
|
activityContextManager.getInstance().getHomeController().recreate();
|
||||||
|
if(activityContextManager.getInstance().getSettingGeneralController()!=null){
|
||||||
|
activityContextManager.getInstance().getSettingGeneralController().recreate();
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*View Callbacks*/
|
/*View Callbacks*/
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
activityContextManager.getInstance().onRemoveStack(this);
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
private class languageViewCallback implements eventObserver.eventListener{
|
private class languageViewCallback implements eventObserver.eventListener{
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -40,6 +40,7 @@ class languageViewController
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
||||||
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
||||||
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
||||||
|
|
|
@ -52,9 +52,9 @@ public class orbotLogController extends AppCompatActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
overridePendingTransition(R.anim.push_anim_out_reverse, R.anim.push_anim_in_reverse);
|
overridePendingTransition(R.anim.push_anim_out_reverse, R.anim.push_anim_in_reverse);
|
||||||
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.orbot_log_view);
|
setContentView(R.layout.orbot_log_view);
|
||||||
|
|
||||||
|
@ -66,8 +66,8 @@ public class orbotLogController extends AppCompatActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
|
||||||
theme.getInstance().onConfigurationChanged(this);
|
theme.getInstance().onConfigurationChanged(this);
|
||||||
}
|
}
|
||||||
|
@ -226,6 +226,8 @@ public class orbotLogController extends AppCompatActivity {
|
||||||
@Override
|
@Override
|
||||||
protected void onDestroy() {
|
protected void onDestroy() {
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
|
activityContextManager.getInstance().onRemoveStack(this);
|
||||||
|
activityContextManager.getInstance().setOrbotLogController(null);
|
||||||
mActivityClosed = true;
|
mActivityClosed = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -50,6 +50,7 @@ class orbotLogViewController
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
||||||
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
||||||
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
||||||
|
|
|
@ -47,9 +47,9 @@ public class orbotController extends AppCompatActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
overridePendingTransition(R.anim.push_anim_in, R.anim.push_anim_out);
|
overridePendingTransition(R.anim.push_anim_in, R.anim.push_anim_out);
|
||||||
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.orbot_settings_view);
|
setContentView(R.layout.orbot_settings_view);
|
||||||
|
|
||||||
|
@ -59,8 +59,8 @@ public class orbotController extends AppCompatActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
|
||||||
theme.getInstance().onConfigurationChanged(this);
|
theme.getInstance().onConfigurationChanged(this);
|
||||||
}
|
}
|
||||||
|
@ -126,6 +126,12 @@ public class orbotController extends AppCompatActivity {
|
||||||
|
|
||||||
/* LOCAL OVERRIDES */
|
/* LOCAL OVERRIDES */
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
activityContextManager.getInstance().onRemoveStack(this);
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onResume()
|
public void onResume()
|
||||||
{
|
{
|
||||||
|
|
|
@ -40,6 +40,7 @@ class orbotViewController
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
||||||
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
||||||
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
||||||
|
|
|
@ -37,9 +37,9 @@ public class proxyStatusController extends AppCompatActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
overridePendingTransition(R.anim.push_anim_in, R.anim.push_anim_out);
|
overridePendingTransition(R.anim.push_anim_in, R.anim.push_anim_out);
|
||||||
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.proxy_status_view);
|
setContentView(R.layout.proxy_status_view);
|
||||||
|
|
||||||
|
@ -48,8 +48,8 @@ public class proxyStatusController extends AppCompatActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
|
||||||
theme.getInstance().onConfigurationChanged(this);
|
theme.getInstance().onConfigurationChanged(this);
|
||||||
}
|
}
|
||||||
|
@ -91,6 +91,12 @@ public class proxyStatusController extends AppCompatActivity {
|
||||||
|
|
||||||
/* LOCAL OVERRIDES */
|
/* LOCAL OVERRIDES */
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
activityContextManager.getInstance().onRemoveStack(this);
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onResume()
|
public void onResume()
|
||||||
{
|
{
|
||||||
|
|
|
@ -45,6 +45,7 @@ class proxyStatusViewController
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
||||||
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
||||||
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
||||||
|
|
|
@ -58,8 +58,8 @@ public class settingAccessibilityController extends AppCompatActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
|
||||||
theme.getInstance().onConfigurationChanged(this);
|
theme.getInstance().onConfigurationChanged(this);
|
||||||
}
|
}
|
||||||
|
@ -159,6 +159,12 @@ public class settingAccessibilityController extends AppCompatActivity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
activityContextManager.getInstance().onRemoveStack(this);
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
public void onZoomSettingUpdate(View view){
|
public void onZoomSettingUpdate(View view){
|
||||||
mSettingAccessibilityModel.onTrigger(settingAccessibilityEnums.eAccessibilityViewController.M_ZOOM_SETTING, Collections.singletonList(!mZoom.isChecked()));
|
mSettingAccessibilityModel.onTrigger(settingAccessibilityEnums.eAccessibilityViewController.M_ZOOM_SETTING, Collections.singletonList(!mZoom.isChecked()));
|
||||||
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_ZOOM,status.sSettingEnableZoom));
|
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_ZOOM,status.sSettingEnableZoom));
|
||||||
|
|
|
@ -52,6 +52,7 @@ class settingAccessibilityViewController
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
||||||
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
||||||
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
||||||
|
|
|
@ -54,8 +54,8 @@ public class settingAdvanceController extends AppCompatActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
|
||||||
theme.getInstance().onConfigurationChanged(this);
|
theme.getInstance().onConfigurationChanged(this);
|
||||||
}
|
}
|
||||||
|
@ -135,6 +135,12 @@ public class settingAdvanceController extends AppCompatActivity {
|
||||||
|
|
||||||
/*UI Redirection*/
|
/*UI Redirection*/
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
activityContextManager.getInstance().onRemoveStack(this);
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
public void onClose(View view){
|
public void onClose(View view){
|
||||||
if(mIsChanged){
|
if(mIsChanged){
|
||||||
pluginController.getInstance().onOrbotInvoke(null, pluginEnums.eOrbotManager.M_UPDATE_PRIVACY);
|
pluginController.getInstance().onOrbotInvoke(null, pluginEnums.eOrbotManager.M_UPDATE_PRIVACY);
|
||||||
|
|
|
@ -93,6 +93,7 @@ class settingAdvanceViewController
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
||||||
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
||||||
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
||||||
|
|
|
@ -10,7 +10,7 @@ import androidx.annotation.NonNull;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
import com.darkweb.genesissearchengine.appManager.activityContextManager;
|
import com.darkweb.genesissearchengine.appManager.activityContextManager;
|
||||||
import com.darkweb.genesissearchengine.appManager.databaseManager.databaseController;
|
import com.darkweb.genesissearchengine.databaseManager.databaseController;
|
||||||
import com.darkweb.genesissearchengine.appManager.helpManager.helpController;
|
import com.darkweb.genesissearchengine.appManager.helpManager.helpController;
|
||||||
import com.darkweb.genesissearchengine.constants.constants;
|
import com.darkweb.genesissearchengine.constants.constants;
|
||||||
import com.darkweb.genesissearchengine.constants.enums;
|
import com.darkweb.genesissearchengine.constants.enums;
|
||||||
|
@ -46,18 +46,17 @@ public class settingClearController extends AppCompatActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.setting_clear_view);
|
setContentView(R.layout.setting_clear_view);
|
||||||
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
|
||||||
|
|
||||||
viewsInitializations();
|
viewsInitializations();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
|
||||||
theme.getInstance().onConfigurationChanged(this);
|
theme.getInstance().onConfigurationChanged(this);
|
||||||
}
|
}
|
||||||
|
@ -147,7 +146,7 @@ public class settingClearController extends AppCompatActivity {
|
||||||
mCheckBoxList.get(7).setChecked(false);
|
mCheckBoxList.get(7).setChecked(false);
|
||||||
mCheckBoxList.get(7).setButtonTintList(ColorStateList.valueOf(ContextCompat.getColor(this, R.color.c_checkbox_tint_default)));
|
mCheckBoxList.get(7).setButtonTintList(ColorStateList.valueOf(ContextCompat.getColor(this, R.color.c_checkbox_tint_default)));
|
||||||
onClearSettings();
|
onClearSettings();
|
||||||
status.initStatus();
|
status.initStatus(activityContextManager.getInstance().getHomeController());
|
||||||
dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_CLEAR_TAB, null);
|
dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_CLEAR_TAB, null);
|
||||||
mHomeInvoked = true;
|
mHomeInvoked = true;
|
||||||
}
|
}
|
||||||
|
@ -230,6 +229,12 @@ public class settingClearController extends AppCompatActivity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
activityContextManager.getInstance().onRemoveStack(this);
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
public void onClose(View view){
|
public void onClose(View view){
|
||||||
activityContextManager.getInstance().onRemoveStack(this);
|
activityContextManager.getInstance().onRemoveStack(this);
|
||||||
finish();
|
finish();
|
||||||
|
|
|
@ -40,6 +40,7 @@ class settingClearViewController
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
||||||
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
||||||
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
||||||
|
|
|
@ -5,7 +5,6 @@ import android.os.Bundle;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.RadioButton;
|
import android.widget.RadioButton;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import androidx.appcompat.app.AppCompatDelegate;
|
import androidx.appcompat.app.AppCompatDelegate;
|
||||||
|
@ -50,6 +49,9 @@ public class settingGeneralController extends AppCompatActivity {
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
if(!status.mThemeApplying){
|
||||||
|
activityContextManager.getInstance().onStack(this);
|
||||||
|
}
|
||||||
|
|
||||||
setContentView(R.layout.setting_general_view);
|
setContentView(R.layout.setting_general_view);
|
||||||
activityContextManager.getInstance().setSettingGeneralController(this);
|
activityContextManager.getInstance().setSettingGeneralController(this);
|
||||||
|
@ -58,8 +60,8 @@ public class settingGeneralController extends AppCompatActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
|
||||||
theme.getInstance().onConfigurationChanged(this);
|
theme.getInstance().onConfigurationChanged(this);
|
||||||
}
|
}
|
||||||
|
@ -73,30 +75,10 @@ public class settingGeneralController extends AppCompatActivity {
|
||||||
mHomePageText = findViewById(R.id.pHomePageText);
|
mHomePageText = findViewById(R.id.pHomePageText);
|
||||||
mOpenURLInNewTab = findViewById(R.id.pOpenURLInNewTab);
|
mOpenURLInNewTab = findViewById(R.id.pOpenURLInNewTab);
|
||||||
|
|
||||||
activityContextManager.getInstance().onStack(this);
|
|
||||||
mSettingGeneralViewController = new settingGeneralViewController(this, new settingGeneralViewCallback(), mFullScreenMode, mThemeLight, mThemeDark, mThemeDefault, mHomePageText, mOpenURLInNewTab);
|
mSettingGeneralViewController = new settingGeneralViewController(this, new settingGeneralViewCallback(), mFullScreenMode, mThemeLight, mThemeDark, mThemeDefault, mHomePageText, mOpenURLInNewTab);
|
||||||
mSettingGeneralModel = new settingGeneralModel(new settingGeneralModelCallback());
|
mSettingGeneralModel = new settingGeneralModel(new settingGeneralModelCallback());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onInitTheme(){
|
|
||||||
|
|
||||||
if(status.sTheme == enums.Theme.THEME_DARK){
|
|
||||||
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
|
|
||||||
activityContextManager.getInstance().getHomeController().recreate();
|
|
||||||
}else if(status.sTheme == enums.Theme.THEME_LIGHT){
|
|
||||||
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
|
|
||||||
activityContextManager.getInstance().getHomeController().recreate();
|
|
||||||
}else {
|
|
||||||
if(!status.sDefaultNightMode){
|
|
||||||
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
|
|
||||||
activityContextManager.getInstance().getHomeController().recreate();
|
|
||||||
}else {
|
|
||||||
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
|
|
||||||
activityContextManager.getInstance().getHomeController().recreate();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*View Callbacks*/
|
/*View Callbacks*/
|
||||||
|
|
||||||
private class settingGeneralViewCallback implements eventObserver.eventListener{
|
private class settingGeneralViewCallback implements eventObserver.eventListener{
|
||||||
|
@ -134,9 +116,9 @@ public class settingGeneralController extends AppCompatActivity {
|
||||||
|
|
||||||
if(mIsThemeChangable){
|
if(mIsThemeChangable){
|
||||||
status.mThemeApplying = true;
|
status.mThemeApplying = true;
|
||||||
onInitTheme();
|
|
||||||
onBackPressed();
|
onBackPressed();
|
||||||
overridePendingTransition(R.anim.fade_in_lang, R.anim.fade_out_lang);
|
overridePendingTransition(R.anim.fade_in_lang, R.anim.fade_out_lang);
|
||||||
|
activityContextManager.getInstance().getHomeController().onReInitTheme();
|
||||||
activityContextManager.getInstance().getSettingController().onReInitTheme();
|
activityContextManager.getInstance().getSettingController().onReInitTheme();
|
||||||
helperMethod.openActivity(settingGeneralController.class, constants.CONST_LIST_HISTORY, settingGeneralController.this,true);
|
helperMethod.openActivity(settingGeneralController.class, constants.CONST_LIST_HISTORY, settingGeneralController.this,true);
|
||||||
}
|
}
|
||||||
|
@ -161,6 +143,9 @@ public class settingGeneralController extends AppCompatActivity {
|
||||||
@Override
|
@Override
|
||||||
public void onResume()
|
public void onResume()
|
||||||
{
|
{
|
||||||
|
if(status.mThemeApplying){
|
||||||
|
// activityContextManager.getInstance().onStack(this);
|
||||||
|
}
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_RESUME);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_RESUME);
|
||||||
activityContextManager.getInstance().setCurrentActivity(this);
|
activityContextManager.getInstance().setCurrentActivity(this);
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
@ -174,7 +159,6 @@ public class settingGeneralController extends AppCompatActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBackPressed() {
|
public void onBackPressed() {
|
||||||
activityContextManager.getInstance().onRemoveStack(this);
|
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -190,6 +174,15 @@ public class settingGeneralController extends AppCompatActivity {
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
if(!status.mThemeApplying){
|
||||||
|
activityContextManager.getInstance().onRemoveStack(this);
|
||||||
|
}
|
||||||
|
activityContextManager.getInstance().setSettingGeneralController(null);
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
public void onManageLanguage(View view) {
|
public void onManageLanguage(View view) {
|
||||||
helperMethod.openActivity(languageController.class, constants.CONST_LIST_HISTORY, this,true);
|
helperMethod.openActivity(languageController.class, constants.CONST_LIST_HISTORY, this,true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,6 +61,7 @@ class settingGeneralViewController
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
||||||
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
||||||
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
||||||
|
|
|
@ -45,8 +45,8 @@ public class settingLogController extends AppCompatActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
|
||||||
theme.getInstance().onConfigurationChanged(this);
|
theme.getInstance().onConfigurationChanged(this);
|
||||||
}
|
}
|
||||||
|
@ -100,7 +100,12 @@ public class settingLogController extends AppCompatActivity {
|
||||||
@Override
|
@Override
|
||||||
public void onBackPressed() {
|
public void onBackPressed() {
|
||||||
finish();
|
finish();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
activityContextManager.getInstance().onRemoveStack(this);
|
activityContextManager.getInstance().onRemoveStack(this);
|
||||||
|
super.onDestroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*UI Redirection*/
|
/*UI Redirection*/
|
||||||
|
|
|
@ -51,6 +51,7 @@ class settingLogViewController
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
||||||
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
||||||
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
||||||
|
|
|
@ -44,8 +44,8 @@ public class settingNotificationController extends AppCompatActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
|
||||||
theme.getInstance().onConfigurationChanged(this);
|
theme.getInstance().onConfigurationChanged(this);
|
||||||
}
|
}
|
||||||
|
@ -106,7 +106,12 @@ public class settingNotificationController extends AppCompatActivity {
|
||||||
@Override
|
@Override
|
||||||
public void onBackPressed() {
|
public void onBackPressed() {
|
||||||
finish();
|
finish();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
activityContextManager.getInstance().onRemoveStack(this);
|
activityContextManager.getInstance().onRemoveStack(this);
|
||||||
|
super.onDestroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*UI Redirection*/
|
/*UI Redirection*/
|
||||||
|
|
|
@ -49,6 +49,7 @@ class settingNotificationViewController
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
||||||
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
||||||
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
||||||
|
|
|
@ -51,8 +51,8 @@ public class settingPrivacyController extends AppCompatActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
|
||||||
theme.getInstance().onConfigurationChanged(this);
|
theme.getInstance().onConfigurationChanged(this);
|
||||||
}
|
}
|
||||||
|
@ -118,10 +118,15 @@ public class settingPrivacyController extends AppCompatActivity {
|
||||||
activityContextManager.getInstance().setCurrentActivity(this);
|
activityContextManager.getInstance().setCurrentActivity(this);
|
||||||
activityContextManager.getInstance().getHomeController().initRuntimeSettings();
|
activityContextManager.getInstance().getHomeController().initRuntimeSettings();
|
||||||
}
|
}
|
||||||
activityContextManager.getInstance().onRemoveStack(this);
|
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
activityContextManager.getInstance().onRemoveStack(this);
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
/*UI Redirection*/
|
/*UI Redirection*/
|
||||||
|
|
||||||
public void onClose(View view){
|
public void onClose(View view){
|
||||||
|
|
|
@ -55,6 +55,7 @@ class settingPrivacyViewController
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
||||||
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
||||||
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
||||||
|
|
|
@ -46,8 +46,8 @@ public class settingSearchController extends AppCompatActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
|
||||||
theme.getInstance().onConfigurationChanged(this);
|
theme.getInstance().onConfigurationChanged(this);
|
||||||
}
|
}
|
||||||
|
@ -111,6 +111,12 @@ public class settingSearchController extends AppCompatActivity {
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
activityContextManager.getInstance().onRemoveStack(this);
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
/*UI Redirection*/
|
/*UI Redirection*/
|
||||||
|
|
||||||
public void onClose(View view){
|
public void onClose(View view){
|
||||||
|
|
|
@ -54,6 +54,7 @@ class settingSearchViewController
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
||||||
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
||||||
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
||||||
|
|
|
@ -56,16 +56,19 @@ public class settingHomeController extends AppCompatActivity
|
||||||
{
|
{
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.setting);
|
if(!status.mThemeApplying){
|
||||||
|
activityContextManager.getInstance().onStack(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
setContentView(R.layout.setting);
|
||||||
viewsInitializations();
|
viewsInitializations();
|
||||||
listenersInitializations();
|
listenersInitializations();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
|
||||||
theme.getInstance().onConfigurationChanged(this);
|
theme.getInstance().onConfigurationChanged(this);
|
||||||
}
|
}
|
||||||
|
@ -117,10 +120,13 @@ public class settingHomeController extends AppCompatActivity
|
||||||
@Override
|
@Override
|
||||||
public void onResume()
|
public void onResume()
|
||||||
{
|
{
|
||||||
|
if(status.mThemeApplying){
|
||||||
|
// activityContextManager.getInstance().onStack(this);
|
||||||
|
}
|
||||||
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_RESUME);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_RESUME);
|
||||||
activityContextManager.getInstance().setCurrentActivity(this);
|
activityContextManager.getInstance().setCurrentActivity(this);
|
||||||
status.sSettingIsAppPaused = false;
|
status.sSettingIsAppPaused = false;
|
||||||
activityContextManager.getInstance().onStack(this);
|
|
||||||
super.onResume();
|
super.onResume();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,10 +139,18 @@ public class settingHomeController extends AppCompatActivity
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBackPressed(){
|
public void onBackPressed(){
|
||||||
activityContextManager.getInstance().onRemoveStack(this);
|
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
if(!status.mThemeApplying){
|
||||||
|
activityContextManager.getInstance().onRemoveStack(this);
|
||||||
|
}
|
||||||
|
activityContextManager.getInstance().setSettingController(null);
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
/*External Redirection*/
|
/*External Redirection*/
|
||||||
|
|
||||||
public void onRedrawXML(){
|
public void onRedrawXML(){
|
||||||
|
@ -157,7 +171,7 @@ public class settingHomeController extends AppCompatActivity
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||||
startActivity(new Intent(android.provider.Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS));
|
startActivity(new Intent(android.provider.Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS));
|
||||||
}else{
|
}else{
|
||||||
pluginController.getInstance().onMessageManagerInvoke(Collections.singletonList(this), M_NOT_SUPPORTED);
|
//pluginController.getInstance().onMessageManagerInvoke(Collections.singletonList(this), M_NOT_SUPPORTED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,7 @@ class settingHomeViewController
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
||||||
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
||||||
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
||||||
|
|
|
@ -21,6 +21,9 @@ import com.darkweb.genesissearchengine.pluginManager.pluginController;
|
||||||
import com.darkweb.genesissearchengine.pluginManager.pluginEnums;
|
import com.darkweb.genesissearchengine.pluginManager.pluginEnums;
|
||||||
import com.example.myapplication.R;
|
import com.example.myapplication.R;
|
||||||
import com.google.android.material.switchmaterial.SwitchMaterial;
|
import com.google.android.material.switchmaterial.SwitchMaterial;
|
||||||
|
|
||||||
|
import org.mozilla.geckoview.ContentBlocking;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
@ -46,8 +49,8 @@ public class settingTrackingController extends AppCompatActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
pluginController.getInstance().onLanguageInvoke(Collections.singletonList(this), pluginEnums.eLangManager.M_ACTIVITY_CREATED);
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
|
||||||
theme.getInstance().onConfigurationChanged(this);
|
theme.getInstance().onConfigurationChanged(this);
|
||||||
}
|
}
|
||||||
|
@ -112,6 +115,12 @@ public class settingTrackingController extends AppCompatActivity {
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
activityContextManager.getInstance().onRemoveStack(this);
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
/*UI Redirection*/
|
/*UI Redirection*/
|
||||||
|
|
||||||
public void onClose(View view){
|
public void onClose(View view){
|
||||||
|
@ -122,7 +131,7 @@ public class settingTrackingController extends AppCompatActivity {
|
||||||
mSettingChanged = true;
|
mSettingChanged = true;
|
||||||
mSettingPrivacyViewController.onTrigger(settingTrackingEnums.eTrackingViewController.M_SET_TRACKING_STATUS, Collections.singletonList(view));
|
mSettingPrivacyViewController.onTrigger(settingTrackingEnums.eTrackingViewController.M_SET_TRACKING_STATUS, Collections.singletonList(view));
|
||||||
mSettingPrivacyModel.onTrigger(settingTrackingEnums.eTrackingModel.M_SET_TRACKING_PROTECTION, Collections.singletonList(view));
|
mSettingPrivacyModel.onTrigger(settingTrackingEnums.eTrackingModel.M_SET_TRACKING_PROTECTION, Collections.singletonList(view));
|
||||||
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_INT, Arrays.asList(keys.SETTING_COOKIE_ADJUSTABLE,status.sSettingCookieStatus));
|
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_INT, Arrays.asList(keys.SETTING_TRACKING_PROTECTION, status.sSettingTrackingProtection));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onOpenInfo(View view) {
|
public void onOpenInfo(View view) {
|
||||||
|
|
|
@ -43,6 +43,7 @@ class settingTrackingViewController
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
||||||
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
||||||
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.landing_ease_blue));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
||||||
|
|
|
@ -4,18 +4,14 @@ import android.animation.Animator;
|
||||||
import android.animation.ObjectAnimator;
|
import android.animation.ObjectAnimator;
|
||||||
import android.animation.PropertyValuesHolder;
|
import android.animation.PropertyValuesHolder;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.graphics.Bitmap;
|
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.graphics.drawable.BitmapDrawable;
|
import android.graphics.drawable.BitmapDrawable;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.graphics.drawable.TransitionDrawable;
|
import android.os.Handler;
|
||||||
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.view.animation.AlphaAnimation;
|
|
||||||
import android.view.animation.Animation;
|
|
||||||
import android.view.animation.AnimationSet;
|
|
||||||
import android.view.animation.ScaleAnimation;
|
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.FrameLayout;
|
import android.widget.FrameLayout;
|
||||||
import android.widget.ImageButton;
|
import android.widget.ImageButton;
|
||||||
|
@ -101,74 +97,53 @@ public class tabAdapter extends RecyclerView.Adapter<tabAdapter.listViewHolder>
|
||||||
holder.itemView.setTag(position);
|
holder.itemView.setTag(position);
|
||||||
holder.itemView.findViewById(R.id.pRemoveRow).setTag(position);
|
holder.itemView.findViewById(R.id.pRemoveRow).setTag(position);
|
||||||
holder.itemView.findViewById(R.id.pLoadSession).setTag(position);
|
holder.itemView.findViewById(R.id.pLoadSession).setTag(position);
|
||||||
|
|
||||||
if(position == 0 && status.sTabGridLayoutEnabled && !mViewLoaded){
|
if(position == 0 && status.sTabGridLayoutEnabled && !mViewLoaded){
|
||||||
onExpandScale(holder.itemView);
|
|
||||||
mViewLoaded = true;
|
}else{
|
||||||
}else if(position != mModelList.size()-1){
|
|
||||||
holder.itemView.setScaleY(1f);
|
|
||||||
holder.itemView.setScaleX(1f);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean mFirstRowAnimating = false;
|
public void scaleView(View v, tabRowModel mTabRowModel) {
|
||||||
public void onExpandScale(View v) {
|
|
||||||
if(mFirstRowAnimating){
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
mFirstRowAnimating = true;
|
|
||||||
v.bringToFront();
|
v.bringToFront();
|
||||||
if(mFirstRow!=null){
|
ObjectAnimator scaleDown = ObjectAnimator.ofPropertyValuesHolder(v,
|
||||||
mFirstRow.end();
|
PropertyValuesHolder.ofFloat("scaleX", 1, 0.9f),
|
||||||
mFirstRow.cancel();
|
PropertyValuesHolder.ofFloat("scaleY", 1, 0.9f));
|
||||||
}
|
scaleDown.setDuration(130);
|
||||||
v.setScaleY(0.85f);
|
scaleDown.start();
|
||||||
v.setScaleX(0.85f);
|
v.setClickable(false);
|
||||||
mFirstRow = ObjectAnimator.ofPropertyValuesHolder(v,
|
v.setFocusable(false);
|
||||||
PropertyValuesHolder.ofFloat("scaleX", 0.85f, 1),
|
v.setEnabled(false);
|
||||||
PropertyValuesHolder.ofFloat("scaleY", 0.85f, 1));
|
mEvent.invokeObserver(Arrays.asList(mTabRowModel.getSession(), false), tabEnums.eTabAdapterCallback.ON_LOAD_TAB);
|
||||||
mFirstRow.setDuration(200);
|
|
||||||
mFirstRow.setStartDelay(150);
|
scaleDown.addListener(new Animator.AnimatorListener() {
|
||||||
mFirstRow.start();
|
|
||||||
mFirstRow.addListener(new Animator.AnimatorListener() {
|
|
||||||
@Override
|
@Override
|
||||||
public void onAnimationStart(Animator animation, boolean isReverse) {
|
public void onAnimationStart(Animator animation, boolean isReverse) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAnimationEnd(Animator animation, boolean isReverse) {
|
public void onAnimationEnd(Animator animation, boolean isReverse) {
|
||||||
mFirstRowAnimating = false;
|
onTriggerURL(mTabRowModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAnimationStart(Animator animation) {
|
public void onAnimationStart(Animator animation) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAnimationEnd(Animator animation) {
|
public void onAnimationEnd(Animator animation) {
|
||||||
mFirstRowAnimating = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAnimationCancel(Animator animation) {
|
public void onAnimationCancel(Animator animation) {
|
||||||
mFirstRowAnimating = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAnimationRepeat(Animator animation) {
|
public void onAnimationRepeat(Animator animation) {
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
public void scaleView(View v) {
|
|
||||||
v.bringToFront();
|
|
||||||
ObjectAnimator scaleDown = ObjectAnimator.ofPropertyValuesHolder(v,
|
|
||||||
PropertyValuesHolder.ofFloat("scaleX", 1, 0.85f),
|
|
||||||
PropertyValuesHolder.ofFloat("scaleY", 1, 0.85f));
|
|
||||||
scaleDown.setDuration(200);
|
|
||||||
scaleDown.start();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -183,7 +158,8 @@ public class tabAdapter extends RecyclerView.Adapter<tabAdapter.listViewHolder>
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onRemoveAllSelection() {
|
private void onRemoveAllSelection() {
|
||||||
if(mSelectedList!=null && mSelectedList.size()>0){
|
if(mSelectedList.size()>0){
|
||||||
|
int mSelectionInitialSize = mSelectedList.size();
|
||||||
for(int mCounter=0;mCounter<mSelectedList.size();mCounter++){
|
for(int mCounter=0;mCounter<mSelectedList.size();mCounter++){
|
||||||
for(int mCounterInner=0;mCounterInner<mModelList.size();mCounterInner++){
|
for(int mCounterInner=0;mCounterInner<mModelList.size();mCounterInner++){
|
||||||
if(mSelectedList.get(mCounter).equals(mModelList.get(mCounterInner).getmId())){
|
if(mSelectedList.get(mCounter).equals(mModelList.get(mCounterInner).getmId())){
|
||||||
|
@ -191,7 +167,11 @@ public class tabAdapter extends RecyclerView.Adapter<tabAdapter.listViewHolder>
|
||||||
mModelList.remove(mCounterInner);
|
mModelList.remove(mCounterInner);
|
||||||
notifyItemRemoved(mCounterInner);
|
notifyItemRemoved(mCounterInner);
|
||||||
notifyItemRangeChanged(mCounterInner,mModelList.size());
|
notifyItemRangeChanged(mCounterInner,mModelList.size());
|
||||||
mEvent.invokeObserver(Collections.singletonList(mCounterInner), tabEnums.eTabAdapterCallback.ON_REMOVE_TAB_VIEW_RETAIN_BACKUP);
|
if(mSelectionInitialSize == 1){
|
||||||
|
mEvent.invokeObserver(Arrays.asList(mCounterInner, true), tabEnums.eTabAdapterCallback.ON_REMOVE_TAB_VIEW_RETAIN_BACKUP);
|
||||||
|
}else {
|
||||||
|
mEvent.invokeObserver(Arrays.asList(mCounterInner, false), tabEnums.eTabAdapterCallback.ON_REMOVE_TAB_VIEW_RETAIN_BACKUP);
|
||||||
|
}
|
||||||
mCounter=-1;
|
mCounter=-1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -216,12 +196,17 @@ public class tabAdapter extends RecyclerView.Adapter<tabAdapter.listViewHolder>
|
||||||
|
|
||||||
private void onRemoveAll(){
|
private void onRemoveAll(){
|
||||||
int mSize = mModelList.size()-1;
|
int mSize = mModelList.size()-1;
|
||||||
for(int mCounter=0;mCounter<mSize;mCounter++){
|
if(mSize==1){
|
||||||
mModelList.remove(0);
|
mModelList.remove(0);
|
||||||
notifyDataSetChanged();
|
notifyDataSetChanged();
|
||||||
mEvent.invokeObserver(Collections.singletonList(0), tabEnums.eTabAdapterCallback.ON_REMOVE_TAB_VIEW_RETAIN_BACKUP);
|
mEvent.invokeObserver(Arrays.asList(0, true), tabEnums.eTabAdapterCallback.ON_REMOVE_TAB_VIEW_RETAIN_BACKUP);
|
||||||
|
}else {
|
||||||
|
for(int mCounter=0;mCounter<mSize;mCounter++){
|
||||||
|
mModelList.remove(0);
|
||||||
|
notifyDataSetChanged();
|
||||||
|
mEvent.invokeObserver(Arrays.asList(0, false), tabEnums.eTabAdapterCallback.ON_REMOVE_TAB_VIEW_RETAIN_BACKUP);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onClearAllSelection(){
|
private void onClearAllSelection(){
|
||||||
|
@ -269,7 +254,6 @@ public class tabAdapter extends RecyclerView.Adapter<tabAdapter.listViewHolder>
|
||||||
|
|
||||||
private void onTriggerURL(tabRowModel model){
|
private void onTriggerURL(tabRowModel model){
|
||||||
if(model.getSession()!=null){
|
if(model.getSession()!=null){
|
||||||
mEvent.invokeObserver(Arrays.asList(model.getSession(), false), tabEnums.eTabAdapterCallback.ON_LOAD_TAB);
|
|
||||||
mEvent.invokeObserver(null, tabEnums.eTabAdapterCallback.ON_BACK_PRESSED);
|
mEvent.invokeObserver(null, tabEnums.eTabAdapterCallback.ON_BACK_PRESSED);
|
||||||
mEvent.invokeObserver(null, tabEnums.eTabAdapterCallback.ON_INIT_TAB_COUNT);
|
mEvent.invokeObserver(null, tabEnums.eTabAdapterCallback.ON_INIT_TAB_COUNT);
|
||||||
}
|
}
|
||||||
|
@ -330,7 +314,11 @@ public class tabAdapter extends RecyclerView.Adapter<tabAdapter.listViewHolder>
|
||||||
mItemSelectionMenuReference = itemView.findViewById(R.id.pRowContainer);
|
mItemSelectionMenuReference = itemView.findViewById(R.id.pRowContainer);
|
||||||
mBorder = itemView.findViewById(R.id.pBorder);
|
mBorder = itemView.findViewById(R.id.pBorder);
|
||||||
|
|
||||||
|
itemView.setScaleX(1);
|
||||||
|
itemView.setScaleY(1);
|
||||||
itemView.setClickable(true);
|
itemView.setClickable(true);
|
||||||
|
itemView.setFocusable(true);
|
||||||
|
itemView.setEnabled(true);
|
||||||
mRemoveRow.setEnabled(true);
|
mRemoveRow.setEnabled(true);
|
||||||
|
|
||||||
if(model.getmId()==null){
|
if(model.getmId()==null){
|
||||||
|
@ -340,6 +328,7 @@ public class tabAdapter extends RecyclerView.Adapter<tabAdapter.listViewHolder>
|
||||||
mLoadSession.setOnLongClickListener(this);
|
mLoadSession.setOnLongClickListener(this);
|
||||||
mRemoveRow.setOnClickListener(this);
|
mRemoveRow.setOnClickListener(this);
|
||||||
mLoadSession.setOnClickListener(this);
|
mLoadSession.setOnClickListener(this);
|
||||||
|
|
||||||
if(model.getSession().getTheme()==null){
|
if(model.getSession().getTheme()==null){
|
||||||
if(status.sTabGridLayoutEnabled){
|
if(status.sTabGridLayoutEnabled){
|
||||||
mBorder.setBackgroundColor(ContextCompat.getColor(itemView.getContext(), R.color.c_view_divier_background_inner));
|
mBorder.setBackgroundColor(ContextCompat.getColor(itemView.getContext(), R.color.c_view_divier_background_inner));
|
||||||
|
@ -361,7 +350,7 @@ public class tabAdapter extends RecyclerView.Adapter<tabAdapter.listViewHolder>
|
||||||
}
|
}
|
||||||
|
|
||||||
mItemSelectionMenu.setVisibility(View.GONE);
|
mItemSelectionMenu.setVisibility(View.GONE);
|
||||||
if(model.getSession().getTitle().equals("$TITLE") || model.getSession().getTitle().toLowerCase().equals("loading")){
|
if(model.getSession().getTitle().contains("TITLE") || model.getSession().getTitle().contains("title") || model.getSession().getTitle().toLowerCase().equals("loading")){
|
||||||
mHeader.setText(helperMethod.getDomainName(mURL));
|
mHeader.setText(helperMethod.getDomainName(mURL));
|
||||||
}else {
|
}else {
|
||||||
mHeader.setText(model.getSession().getTitle());
|
mHeader.setText(model.getSession().getTitle());
|
||||||
|
@ -377,21 +366,15 @@ public class tabAdapter extends RecyclerView.Adapter<tabAdapter.listViewHolder>
|
||||||
if(mURL.equals("about:blank")){
|
if(mURL.equals("about:blank")){
|
||||||
mWebThumbnail.setAlpha(0f);
|
mWebThumbnail.setAlpha(0f);
|
||||||
}else {
|
}else {
|
||||||
Thread timer = new Thread()
|
new Handler().postDelayed(() ->
|
||||||
{
|
|
||||||
public void run()
|
|
||||||
{
|
{
|
||||||
runOnUiThread(() -> {
|
if(mWebThumbnail.getDrawable()==null){
|
||||||
if(mWebThumbnail.getDrawable()==null){
|
mWebThumbnail.setImageBitmap(model.getBitmap());
|
||||||
mWebThumbnail.setImageBitmap(model.getBitmap());
|
}else {
|
||||||
}else {
|
Drawable mDrawable = new BitmapDrawable(itemView.getContext().getResources(), model.getBitmap());
|
||||||
Drawable mDrawable = new BitmapDrawable(itemView.getContext().getResources(), model.getBitmap());
|
helperMethod.setImageDrawableWithAnimation(mWebThumbnail, mDrawable,250);
|
||||||
helperMethod.setImageDrawableWithAnimation(mWebThumbnail, mDrawable,250);
|
}
|
||||||
}
|
}, 1 * getLayoutPosition());
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
timer.start();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mSelectedList.contains(model.getSession().getSessionID())){
|
if(mSelectedList.contains(model.getSession().getSessionID())){
|
||||||
|
@ -411,12 +394,14 @@ public class tabAdapter extends RecyclerView.Adapter<tabAdapter.listViewHolder>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
itemView.setBackgroundColor(ContextCompat.getColor(activityContextManager.getInstance().getHomeController(), R.color.clear_alpha));
|
new Handler().postDelayed(() ->
|
||||||
if(!status.sTabGridLayoutEnabled){
|
{
|
||||||
if(getLayoutPosition() == 0){
|
itemView.setBackgroundColor(ContextCompat.getColor(activityContextManager.getInstance().getHomeController(), R.color.clear_alpha));
|
||||||
itemView.setBackgroundColor(ContextCompat.getColor(activityContextManager.getInstance().getHomeController(), R.color.c_list_item_current));
|
if(!status.sTabGridLayoutEnabled){
|
||||||
|
if(getLayoutPosition() == 0){
|
||||||
|
itemView.setBackgroundColor(ContextCompat.getColor(activityContextManager.getInstance().getHomeController(), R.color.c_list_item_current));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if(status.sTabGridLayoutEnabled){
|
if(status.sTabGridLayoutEnabled){
|
||||||
CardView mLayout = itemView.findViewById(R.id.pRowContainerInner);
|
CardView mLayout = itemView.findViewById(R.id.pRowContainerInner);
|
||||||
|
@ -470,6 +455,8 @@ public class tabAdapter extends RecyclerView.Adapter<tabAdapter.listViewHolder>
|
||||||
mItemSelectionMenuButton.animate().setDuration(250).alpha(1);
|
mItemSelectionMenuButton.animate().setDuration(250).alpha(1);
|
||||||
}
|
}
|
||||||
mRemoveRow.bringToFront();
|
mRemoveRow.bringToFront();
|
||||||
|
}, 10 * getLayoutPosition());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -485,9 +472,8 @@ public class tabAdapter extends RecyclerView.Adapter<tabAdapter.listViewHolder>
|
||||||
notifyItemChanged(mModelList.size()-1);
|
notifyItemChanged(mModelList.size()-1);
|
||||||
|
|
||||||
}else {
|
}else {
|
||||||
onTriggerURL(mModelList.get(this.getLayoutPosition()));
|
|
||||||
if(status.sTabGridLayoutEnabled){
|
if(status.sTabGridLayoutEnabled){
|
||||||
scaleView(itemView);
|
scaleView(itemView, mModelList.get(this.getLayoutPosition()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.darkweb.genesissearchengine.appManager.tabManager;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
|
import android.content.res.Resources;
|
||||||
import android.graphics.Canvas;
|
import android.graphics.Canvas;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
@ -26,9 +27,7 @@ import com.darkweb.genesissearchengine.appManager.activityContextManager;
|
||||||
import com.darkweb.genesissearchengine.appManager.homeManager.geckoManager.geckoSession;
|
import com.darkweb.genesissearchengine.appManager.homeManager.geckoManager.geckoSession;
|
||||||
import com.darkweb.genesissearchengine.appManager.homeManager.homeController.homeController;
|
import com.darkweb.genesissearchengine.appManager.homeManager.homeController.homeController;
|
||||||
import com.darkweb.genesissearchengine.appManager.settingManager.advanceManager.settingAdvanceController;
|
import com.darkweb.genesissearchengine.appManager.settingManager.advanceManager.settingAdvanceController;
|
||||||
import com.darkweb.genesissearchengine.appManager.settingManager.settingHomePage.settingHomeController;
|
|
||||||
import com.darkweb.genesissearchengine.constants.constants;
|
import com.darkweb.genesissearchengine.constants.constants;
|
||||||
import com.darkweb.genesissearchengine.constants.enums;
|
|
||||||
import com.darkweb.genesissearchengine.constants.status;
|
import com.darkweb.genesissearchengine.constants.status;
|
||||||
import com.darkweb.genesissearchengine.dataManager.dataController;
|
import com.darkweb.genesissearchengine.dataManager.dataController;
|
||||||
import com.darkweb.genesissearchengine.dataManager.dataEnums;
|
import com.darkweb.genesissearchengine.dataManager.dataEnums;
|
||||||
|
@ -52,7 +51,7 @@ public class tabController extends Fragment
|
||||||
private TextView mSelectionCount;
|
private TextView mSelectionCount;
|
||||||
private ImageView mBlocker;
|
private ImageView mBlocker;
|
||||||
private View mRootView;
|
private View mRootView;
|
||||||
private NestedScrollView mNestedScrollView;
|
private NestedScrollView mNestedScrollView = null;
|
||||||
|
|
||||||
/*Private Variables*/
|
/*Private Variables*/
|
||||||
|
|
||||||
|
@ -71,6 +70,7 @@ public class tabController extends Fragment
|
||||||
private float getmScreenWidth;
|
private float getmScreenWidth;
|
||||||
private boolean mClosed = false;
|
private boolean mClosed = false;
|
||||||
private boolean mClosedByNewTab = false;
|
private boolean mClosedByNewTab = false;
|
||||||
|
boolean mScrolled = true;
|
||||||
|
|
||||||
/*Initializations*/
|
/*Initializations*/
|
||||||
|
|
||||||
|
@ -84,39 +84,61 @@ public class tabController extends Fragment
|
||||||
return root;
|
return root;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDestroy() {
|
||||||
|
mListModel = null;
|
||||||
|
mHomeController = null;
|
||||||
|
mContextManager = null;
|
||||||
|
mtabViewController = null;
|
||||||
|
mRecycleView = null;
|
||||||
|
mTabAdapter = null;
|
||||||
|
mScrollHandler = null;
|
||||||
|
mScrollRunnable = null;
|
||||||
|
mScrolled = false;
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
public void onActivityCreated(Bundle savedInstanceState) {
|
public void onActivityCreated(Bundle savedInstanceState) {
|
||||||
super.onActivityCreated(savedInstanceState);
|
super.onActivityCreated(savedInstanceState);
|
||||||
|
|
||||||
activityContextManager.getInstance().setTabController(this);
|
activityContextManager.getInstance().setTabController(this);
|
||||||
|
mTabGridLayoutEnabled = status.sTabGridLayoutEnabled;
|
||||||
|
|
||||||
|
onInit();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onInit(){
|
|
||||||
if(mTabAdapter==null || mTabGridLayoutEnabled!=status.sTabGridLayoutEnabled){
|
|
||||||
initializeActivity();
|
|
||||||
initializeViews();
|
|
||||||
initializeLocalEventHandlers();
|
|
||||||
initializeList();
|
|
||||||
initSwipe();
|
|
||||||
mTabGridLayoutEnabled = status.sTabGridLayoutEnabled;
|
|
||||||
}else {
|
|
||||||
initializeList();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
public void onInit(){
|
||||||
|
initializeActivity();
|
||||||
|
initializeViews();
|
||||||
|
initializeLocalEventHandlers();
|
||||||
|
initializeList();
|
||||||
|
initSwipe();
|
||||||
|
|
||||||
|
mClosed = false;
|
||||||
|
mTabGridLayoutEnabled = status.sTabGridLayoutEnabled;
|
||||||
|
mtabViewController.onTrigger(tabEnums.eTabViewCommands.ON_RELEASE_BLOCKER, null);
|
||||||
|
mNestedScrollView.scrollTo(0,0);
|
||||||
|
mtabViewController.onTrigger(tabEnums.eTabViewCommands.ON_HIDE_UNDO_DIALOG_INIT, null);
|
||||||
|
mRecycleView.animate().setDuration(150).alpha(1);
|
||||||
|
mRecycleView.setAlpha(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onInitInvoked(){
|
||||||
|
initializeList();
|
||||||
|
|
||||||
mClosed = false;
|
mClosed = false;
|
||||||
mtabViewController.onTrigger(tabEnums.eTabViewCommands.ON_RELEASE_BLOCKER, null);
|
mtabViewController.onTrigger(tabEnums.eTabViewCommands.ON_RELEASE_BLOCKER, null);
|
||||||
mNestedScrollView.scrollTo(0,0);
|
mNestedScrollView.scrollTo(0,0);
|
||||||
mtabViewController.onTrigger(tabEnums.eTabViewCommands.ON_HIDE_UNDO_DIALOG_INIT, null);
|
mtabViewController.onTrigger(tabEnums.eTabViewCommands.ON_HIDE_UNDO_DIALOG_INIT, null);
|
||||||
mRecycleView.setAlpha(1);
|
mRecycleView.setAlpha(1);
|
||||||
mTabAdapter.onTrigger(tabEnums.eTabAdapterCommands.M_INITIALIZE, Collections.singletonList(mListModel.getList()));
|
|
||||||
mTabAdapter.notifyDataSetChanged();
|
mTabAdapter.notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onInitFirstElement(){
|
public void onInitFirstElement(){
|
||||||
if(mTabAdapter!=null){
|
if(mTabAdapter!=null){
|
||||||
mHomeController.runOnUiThread(new Runnable() {
|
mHomeController.runOnUiThread(() -> {
|
||||||
@Override
|
if(mBlocker.getVisibility() != View.VISIBLE){
|
||||||
public void run() {
|
|
||||||
mTabAdapter.notifyItemChanged(0);
|
mTabAdapter.notifyItemChanged(0);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -147,6 +169,7 @@ public class tabController extends Fragment
|
||||||
|
|
||||||
@SuppressLint("ClickableViewAccessibility")
|
@SuppressLint("ClickableViewAccessibility")
|
||||||
public void initializeLocalEventHandlers(){
|
public void initializeLocalEventHandlers(){
|
||||||
|
|
||||||
mTabs.setOnTouchListener((v, event) -> {
|
mTabs.setOnTouchListener((v, event) -> {
|
||||||
if(event.getAction() == MotionEvent.ACTION_DOWN){
|
if(event.getAction() == MotionEvent.ACTION_DOWN){
|
||||||
onBackPressedInvoked(null);
|
onBackPressedInvoked(null);
|
||||||
|
@ -168,21 +191,24 @@ public class tabController extends Fragment
|
||||||
minScroll = scrollY;
|
minScroll = scrollY;
|
||||||
int orientation = this.getResources().getConfiguration().orientation;
|
int orientation = this.getResources().getConfiguration().orientation;
|
||||||
if (orientation == Configuration.ORIENTATION_PORTRAIT) {
|
if (orientation == Configuration.ORIENTATION_PORTRAIT) {
|
||||||
maxScroll = mRecycleView.computeVerticalScrollRange() - mScreenHeight*0.350f;
|
maxScroll = mRecycleView.computeVerticalScrollRange() - mScreenHeight*0.350f + helperMethod.pxFromDp(helperMethod.getNavigationBarSize(getContext()).y);
|
||||||
} else {
|
} else {
|
||||||
maxScroll = mRecycleView.computeVerticalScrollRange() - getmScreenWidth*0.20f;
|
maxScroll = mRecycleView.computeVerticalScrollRange() - getmScreenWidth*0.20f + helperMethod.pxFromDp(helperMethod.getNavigationBarSize(getContext()).y);
|
||||||
}
|
}
|
||||||
|
|
||||||
onSwipeBounce(300);
|
if(!mScrolled){
|
||||||
|
onSwipeBounce(300);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
mNestedScrollView.setOnScrollChangeListener((NestedScrollView.OnScrollChangeListener) (v, scrollX, scrollY, oldScrollX, oldScrollY) -> {
|
mNestedScrollView.setOnScrollChangeListener((NestedScrollView.OnScrollChangeListener) (v, scrollX, scrollY, oldScrollX, oldScrollY) -> {
|
||||||
|
mScrolled = false;
|
||||||
if (mRecycleView.getChildAt(mRecycleView.getChildCount() - 1) != null) {
|
if (mRecycleView.getChildAt(mRecycleView.getChildCount() - 1) != null) {
|
||||||
if ((scrollY >= (mRecycleView.getChildAt(mRecycleView.getChildCount() - 1).getMeasuredHeight() - mRecycleView.getMeasuredHeight())) && scrollY > oldScrollY) {
|
if ((scrollY >= (mRecycleView.getChildAt(mRecycleView.getChildCount() - 1).getMeasuredHeight() - mRecycleView.getMeasuredHeight())) && scrollY > oldScrollY) {
|
||||||
Log.i("FUCK2:::::::",scrollY+"");
|
Log.i("FUCK2:::::::",scrollY+"");
|
||||||
onSwipeBounce(0);
|
onSwipeBounce(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -262,7 +288,7 @@ public class tabController extends Fragment
|
||||||
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
|
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
|
||||||
int position = viewHolder.getAdapterPosition();
|
int position = viewHolder.getAdapterPosition();
|
||||||
onExitAndClearBackup();
|
onExitAndClearBackup();
|
||||||
boolean mStatus = onInitRemoveView(position, true);
|
boolean mStatus = onInitRemoveView(position, true, true);
|
||||||
if(mStatus){
|
if(mStatus){
|
||||||
mTabAdapter.onTrigger(tabEnums.eTabAdapterCommands.NOTIFY_SWIPE, Collections.singletonList(position));
|
mTabAdapter.onTrigger(tabEnums.eTabAdapterCommands.NOTIFY_SWIPE, Collections.singletonList(position));
|
||||||
}
|
}
|
||||||
|
@ -303,12 +329,17 @@ public class tabController extends Fragment
|
||||||
onSwipeBounce(0);
|
onSwipeBounce(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean onInitRemoveView(int pIndex, boolean pCreateBackup){
|
public boolean onInitRemoveView(int pIndex, boolean pCreateBackup, boolean pShowPopupOnClearAll){
|
||||||
|
if(mListModel.getList().size()<=pIndex){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
mListModel.onTrigger(tabEnums.eModelCallback.M_REMOVE_TAB,Collections.singletonList(pIndex));
|
mListModel.onTrigger(tabEnums.eModelCallback.M_REMOVE_TAB,Collections.singletonList(pIndex));
|
||||||
mListModel.getList().remove(pIndex);
|
mListModel.getList().remove(pIndex);
|
||||||
if(mListModel.getList().size()<1){
|
if(mListModel.getList().size()<1){
|
||||||
mRecycleView.animate().setDuration(200).alpha(0).withEndAction(() -> {
|
mRecycleView.animate().setDuration(200).alpha(0).withEndAction(() -> {
|
||||||
onShowUndoDialog();
|
if(pShowPopupOnClearAll){
|
||||||
|
onShowUndoDialog();
|
||||||
|
}
|
||||||
mTabAdapter.notifyDataSetChanged();
|
mTabAdapter.notifyDataSetChanged();
|
||||||
});
|
});
|
||||||
activityContextManager.getInstance().getHomeController().onLoadTabFromTabController();
|
activityContextManager.getInstance().getHomeController().onLoadTabFromTabController();
|
||||||
|
@ -341,12 +372,15 @@ public class tabController extends Fragment
|
||||||
ArrayList<tabRowModel> mBackup = (ArrayList<tabRowModel>)mListModel.onTrigger(tabEnums.eModelCallback.M_GET_BACKUP,null);
|
ArrayList<tabRowModel> mBackup = (ArrayList<tabRowModel>)mListModel.onTrigger(tabEnums.eModelCallback.M_GET_BACKUP,null);
|
||||||
if(mListModel.getList().size()>=1 && mBackup.size()!=1){
|
if(mListModel.getList().size()>=1 && mBackup.size()!=1){
|
||||||
mHomeController.onNewTabBackground(true,false);
|
mHomeController.onNewTabBackground(true,false);
|
||||||
}
|
|
||||||
|
|
||||||
mClosedByNewTab = false;
|
mClosedByNewTab = false;
|
||||||
onPostExit();
|
onPostExit();
|
||||||
onBackPressed();
|
onBackPressed();
|
||||||
onClose();
|
onClose();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
onExitAndClearBackup();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onRestoreTab(View view){
|
public void onRestoreTab(View view){
|
||||||
|
@ -390,7 +424,9 @@ public class tabController extends Fragment
|
||||||
if(mListModel!=null){
|
if(mListModel!=null){
|
||||||
for(int mCounter=0; mCounter<mListModel.getList().size();mCounter++){
|
for(int mCounter=0; mCounter<mListModel.getList().size();mCounter++){
|
||||||
if(mListModel.getList().get(mCounter).getSession().getSessionID().equals(pId)){
|
if(mListModel.getList().get(mCounter).getSession().getSessionID().equals(pId)){
|
||||||
mTabAdapter.notifyItemChanged(mCounter);
|
if(mBlocker.getVisibility() != View.VISIBLE){
|
||||||
|
mTabAdapter.notifyItemChanged(mCounter);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -412,6 +448,10 @@ public class tabController extends Fragment
|
||||||
return (int)mTabAdapter.onTrigger(tabEnums.eTabAdapterCommands.GET_SELECTION_SIZE,null);
|
return (int)mTabAdapter.onTrigger(tabEnums.eTabAdapterCommands.GET_SELECTION_SIZE,null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isSelectionOpened(){
|
||||||
|
return mClearSelection.getVisibility() == View.VISIBLE;
|
||||||
|
}
|
||||||
|
|
||||||
public void onRemoveSelection(View view) {
|
public void onRemoveSelection(View view) {
|
||||||
int mSelectionSize = (int)mTabAdapter.onTrigger(tabEnums.eTabAdapterCommands.GET_SELECTION_SIZE,null);
|
int mSelectionSize = (int)mTabAdapter.onTrigger(tabEnums.eTabAdapterCommands.GET_SELECTION_SIZE,null);
|
||||||
if(mSelectionSize >= mListModel.getList().size()){
|
if(mSelectionSize >= mListModel.getList().size()){
|
||||||
|
@ -458,19 +498,20 @@ public class tabController extends Fragment
|
||||||
|
|
||||||
public void onMenuTrigger(View pView){
|
public void onMenuTrigger(View pView){
|
||||||
if(pView.getId() == R.id.pNewTab){
|
if(pView.getId() == R.id.pNewTab){
|
||||||
new Handler().postDelayed(this::onNewTabInvoked, 350);
|
onNewTabInvoked();
|
||||||
mClosedByNewTab = true;
|
mClosedByNewTab = true;
|
||||||
mHomeController.onBackPressed();
|
mHomeController.onBackPressed();
|
||||||
}
|
}
|
||||||
if(pView.getId() == R.id.pNewTabMenu){
|
if(pView.getId() == R.id.pNewTabMenu){
|
||||||
new Handler().postDelayed(this::onNewTabInvoked, 350);
|
onNewTabInvoked();
|
||||||
mClosedByNewTab = true;
|
mClosedByNewTab = true;
|
||||||
mHomeController.onBackPressed();
|
mHomeController.onBackPressed();
|
||||||
}
|
}
|
||||||
else if(pView.getId() == R.id.pCloseTab){
|
else if(pView.getId() == R.id.pCloseTab){
|
||||||
mRecycleView.animate().setDuration(200).alpha(0).withEndAction(() -> {
|
mRecycleView.animate().setDuration(200).alpha(0).withEndAction(() -> {
|
||||||
onClearTabBackup();
|
ArrayList<tabRowModel> mBackup = (ArrayList<tabRowModel>)mListModel.onTrigger(tabEnums.eModelCallback.M_GET_BACKUP,null);
|
||||||
mTabAdapter.onTrigger(tabEnums.eTabAdapterCommands.REMOVE_ALL, null);
|
mTabAdapter.onTrigger(tabEnums.eTabAdapterCommands.REMOVE_ALL, null);
|
||||||
|
onClearTabBackup();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else if(pView.getId() == R.id.pOpenSetting){
|
else if(pView.getId() == R.id.pOpenSetting){
|
||||||
|
@ -545,11 +586,11 @@ public class tabController extends Fragment
|
||||||
mHomeController.onLoadTab((geckoSession)data.get(0),(boolean)data.get(1),true);
|
mHomeController.onLoadTab((geckoSession)data.get(0),(boolean)data.get(1),true);
|
||||||
}
|
}
|
||||||
else if(e_type.equals(tabEnums.eTabAdapterCallback.ON_REMOVE_TAB_VIEW)){
|
else if(e_type.equals(tabEnums.eTabAdapterCallback.ON_REMOVE_TAB_VIEW)){
|
||||||
onInitRemoveView((Integer) data.get(0), true);
|
onInitRemoveView((Integer) data.get(0), true, true);
|
||||||
initTabCount(400);
|
initTabCount(400);
|
||||||
}
|
}
|
||||||
else if(e_type.equals(tabEnums.eTabAdapterCallback.ON_REMOVE_TAB_VIEW_RETAIN_BACKUP)){
|
else if(e_type.equals(tabEnums.eTabAdapterCallback.ON_REMOVE_TAB_VIEW_RETAIN_BACKUP)){
|
||||||
onInitRemoveView((Integer) data.get(0), false);
|
onInitRemoveView((Integer) data.get(0), false, (boolean)data.get(1));
|
||||||
}
|
}
|
||||||
else if(e_type.equals(tabEnums.eTabAdapterCallback.M_CLEAR_BACKUP)){
|
else if(e_type.equals(tabEnums.eTabAdapterCallback.M_CLEAR_BACKUP)){
|
||||||
onExitAndClearBackup();
|
onExitAndClearBackup();
|
||||||
|
|
|
@ -27,7 +27,9 @@ class tabModel
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onRemoveTab(int pIndex){
|
private void onRemoveTab(int pIndex){
|
||||||
mBackupIndex.add(mModelList.get(pIndex));
|
if(mModelList.size()>pIndex){
|
||||||
|
mBackupIndex.add(mModelList.get(pIndex));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private ArrayList<tabRowModel> onGetBackup(){
|
private ArrayList<tabRowModel> onGetBackup(){
|
||||||
|
|
|
@ -79,7 +79,7 @@ class tabViewController
|
||||||
@SuppressLint("ClickableViewAccessibility")
|
@SuppressLint("ClickableViewAccessibility")
|
||||||
public void onHoldInteraction(){
|
public void onHoldInteraction(){
|
||||||
final Handler handler = new Handler();
|
final Handler handler = new Handler();
|
||||||
handler.postDelayed(() -> mBlocker.setVisibility(View.GONE), 350);
|
handler.postDelayed(() -> mBlocker.setVisibility(View.GONE), 250);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initTabCount(int pCount){
|
private void initTabCount(int pCount){
|
||||||
|
@ -103,23 +103,6 @@ class tabViewController
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initPostUI(){
|
private void initPostUI(){
|
||||||
mRecycleView.setAlpha(1);
|
|
||||||
mContext.getView().setBackgroundColor(Color.WHITE);
|
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
|
||||||
Window window = mContext.getActivity().getWindow();
|
|
||||||
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
|
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
|
|
||||||
window.setStatusBarColor(mContext.getResources().getColor(R.color.blue_dark));
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if(AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_NO){
|
|
||||||
mContext.getActivity().getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
|
||||||
}
|
|
||||||
mContext.getActivity().getWindow().setStatusBarColor(ContextCompat.getColor(mContext.getActivity(), R.color.c_background));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onOpenTabMenu(View view) {
|
public void onOpenTabMenu(View view) {
|
||||||
|
|
|
@ -6,7 +6,7 @@ public class enums
|
||||||
public enum etype{
|
public enum etype{
|
||||||
on_update_favicon,ON_UPDATE_TAB_TITLE, ON_OPEN_TAB_VIEW,ON_NEW_TAB_ANIMATION, ON_LOAD_REQUEST,GECKO_SCROLL_CHANGED,GECKO_SCROLL_FINISHED,ON_UPDATE_SEARCH_BAR,M_ON_MAIL,SESSION_ID,M_UPDATE_PIXEL_BACKGROUND,M_CACHE_UPDATE_TAB,
|
on_update_favicon,ON_UPDATE_TAB_TITLE, ON_OPEN_TAB_VIEW,ON_NEW_TAB_ANIMATION, ON_LOAD_REQUEST,GECKO_SCROLL_CHANGED,GECKO_SCROLL_FINISHED,ON_UPDATE_SEARCH_BAR,M_ON_MAIL,SESSION_ID,M_UPDATE_PIXEL_BACKGROUND,M_CACHE_UPDATE_TAB,
|
||||||
on_verify_selected_url_menu,FINDER_RESULT_CALLBACK,M_ADMOB_BANNER_RECHECK,M_OPEN_SESSION,
|
on_verify_selected_url_menu,FINDER_RESULT_CALLBACK,M_ADMOB_BANNER_RECHECK,M_OPEN_SESSION,
|
||||||
welcome, reload,download_folder, M_UPDATE_THEME,M_ON_BANNER_UPDATE, M_LOAD_HOMEPAGE_GENESIS,M_INIT_TAB_COUNT,M_INIT_TAB_COUNT_FORCED,
|
welcome, reload,download_folder, M_UPDATE_THEME,M_ON_BANNER_UPDATE, M_LOAD_HOMEPAGE_GENESIS,M_INIT_TAB_COUNT,M_INIT_TAB_COUNT_FORCED,M_SPLASH_DISABLE,M_NEW_LINK_IN_NEW_TAB,
|
||||||
url_triggered, url_triggered_new_tab,url_clear,fetch_favicon, fetch_thumbnail,url_clear_at,remove_from_database,is_empty,M_HOME_PAGE,M_PRELOAD_URL,ON_KEYBOARD_CLOSE,M_CLOSE_TAB,
|
url_triggered, url_triggered_new_tab,url_clear,fetch_favicon, fetch_thumbnail,url_clear_at,remove_from_database,is_empty,M_HOME_PAGE,M_PRELOAD_URL,ON_KEYBOARD_CLOSE,M_CLOSE_TAB,
|
||||||
on_close_sesson,on_long_press, on_full_screen,on_handle_external_intent,on_update_suggestion_url,progress_update,progress_update_forced, ON_EXPAND_TOP_BAR,recheck_orbot,on_url_load,on_playstore_load,back_list_empty,start_proxy, ON_UPDATE_THEME, M_INITIALIZE_TAB_SINGLE, M_INITIALIZE_TAB_LINK,on_request_completed, on_update_history,on_update_suggestion,M_WELCOME_MESSAGE,ON_UPDATE_TITLE_BAR,ON_FIRST_PAINT, ON_LOAD_TAB_ON_RESUME, ON_SESSION_REINIT,on_page_loaded,on_load_error,download_file_popup,on_init_ads,search_update, open_new_tab
|
on_close_sesson,on_long_press, on_full_screen,on_handle_external_intent,on_update_suggestion_url,progress_update,progress_update_forced, ON_EXPAND_TOP_BAR,recheck_orbot,on_url_load,on_playstore_load,back_list_empty,start_proxy, ON_UPDATE_THEME, M_INITIALIZE_TAB_SINGLE, M_INITIALIZE_TAB_LINK,on_request_completed, on_update_history,on_update_suggestion,M_WELCOME_MESSAGE,ON_UPDATE_TITLE_BAR,ON_FIRST_PAINT, ON_LOAD_TAB_ON_RESUME, ON_SESSION_REINIT,on_page_loaded,on_load_error,download_file_popup,on_init_ads,search_update, open_new_tab
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,46 +24,44 @@ public class keys
|
||||||
|
|
||||||
/*Settings*/
|
/*Settings*/
|
||||||
|
|
||||||
public static final String SETTING_LANGUAGE = "LANGUAGE";
|
public static final String SETTING_VERSION = "VERSION_V1";
|
||||||
public static final String SETTING_LANGUAGE_REGION = "LANGUAGE_REGION";
|
public static final String SETTING_LANGUAGE = "LANGUAGE_V1";
|
||||||
public static final String SETTING_SEARCH_ENGINE = "SEARCH_ENGINE";
|
public static final String SETTING_LANGUAGE_REGION = "LANGUAGE_REGION_V1";
|
||||||
public static final String SETTING_FIRST_INSTALLED = "FIRST_INSTALLED";
|
public static final String SETTING_SEARCH_ENGINE = "SEARCH_ENGINE_V1";
|
||||||
public static final String SETTING_JAVA_SCRIPT = "JAVA_SCRIPT";
|
public static final String SETTING_FIRST_INSTALLED = "FIRST_INSTALLED_V1";
|
||||||
public static final String SETTING_POPUP = "POPUP";
|
public static final String SETTING_JAVA_SCRIPT = "JAVA_SCRIPT_V1";
|
||||||
public static final String SETTING_HISTORY_CLEAR = "HISTORY_CLEAR";
|
public static final String SETTING_POPUP = "POPUP_V1";
|
||||||
public static final String SETTING_GATEWAY = "pref_bridges_enabled_auto";
|
public static final String SETTING_HISTORY_CLEAR = "HISTORY_CLEAR_V1";
|
||||||
public static final String SETTING_GATEWAY_MANUAL = "pref_bridges_enabled_manual";
|
public static final String SETTING_GATEWAY = "pref_bridges_enabled_auto_V1";
|
||||||
public static final String SETTING_IS_BOOTSTRAPPED = "IS_BOOTSTRAPPED";
|
public static final String SETTING_GATEWAY_MANUAL = "pref_bridges_enabled_manual_V1";
|
||||||
public static final String SETTING_IS_WELCOME_ENABLED = "IS_WELCOME_ENABLED";
|
public static final String SETTING_IS_BOOTSTRAPPED = "IS_BOOTSTRAPPED_V1";
|
||||||
public static final String SETTING_ENGINE_SWITCHED = "ENGINE_SWITCHED";
|
public static final String SETTING_IS_WELCOME_ENABLED = "IS_WELCOME_ENABLED_V1";
|
||||||
public static final String SETTING_FONT_SIZE = "FONT_SIZE";
|
public static final String SETTING_FONT_SIZE = "FONT_SIZE_V1";
|
||||||
public static final String SETTING_FONT_ADJUSTABLE = "FONT_ADJUSTABLE";
|
public static final String SETTING_FONT_ADJUSTABLE = "FONT_ADJUSTABLE_V1";
|
||||||
public static final String SETTING_COOKIE_ADJUSTABLE = "COOKIE_ADJUSTABLE_NEW";
|
public static final String SETTING_COOKIE_ADJUSTABLE = "COOKIE_ADJUSTABLE_NEW_V1";
|
||||||
public static final String SETTING_NOTIFICATION_STATUS = "NOTIFICATION_STATUS";
|
public static final String SETTING_NOTIFICATION_STATUS = "NOTIFICATION_STATUS_V1";
|
||||||
public static final String SETTING_SEARCH_HISTORY = "SETTING_SEARCH_HISTORY";
|
public static final String SETTING_SEARCH_HISTORY = "SETTING_SEARCH_HISTORY_V1";
|
||||||
public static final String SETTING_SEARCH_SUGGESTION = "SETTING_SEARCH_STATUS";
|
public static final String SETTING_SEARCH_SUGGESTION = "SETTING_SEARCH_STATUS_V1";
|
||||||
public static final String SETTING_ZOOM = "SETTING_ZOOM";
|
public static final String SETTING_ZOOM = "SETTING_ZOOM_V1";
|
||||||
public static final String SETTING_VOICE_INPUT = "SETTING_VOICE_INPUT";
|
public static final String SETTING_VOICE_INPUT = "SETTING_VOICE_INPUT_V1";
|
||||||
public static final String SETTING_TRACKING_PROTECTION = "SETTING_TRACKING_PROTECTION";
|
public static final String SETTING_TRACKING_PROTECTION = "SETTING_TRACKING_PROTECTION_V1";
|
||||||
public static final String SETTING_DONOT_TRACK = "SETTING_DONOT_TRACK";
|
public static final String SETTING_DONOT_TRACK = "SETTING_DONOT_TRACK_V1";
|
||||||
public static final String SETTING_RESTORE_TAB = "SETTING_RESTORE_TAB";
|
public static final String SETTING_RESTORE_TAB = "SETTING_RESTORE_TAB_V1";
|
||||||
public static final String SETTING_CHARACTER_ENCODING = "SETTING_CHARACTER_ENCODING";
|
public static final String SETTING_CHARACTER_ENCODING = "SETTING_CHARACTER_ENCODING_V1";
|
||||||
public static final String SETTING_SHOW_IMAGES = "SETTING_SHOW_IMAGES";
|
public static final String SETTING_SHOW_IMAGES = "SETTING_SHOW_IMAGES_V1";
|
||||||
public static final String SETTING_SHOW_TAB_GRID = "SETTING_SHOW_TAB_GRID";
|
public static final String SETTING_SHOW_TAB_GRID = "SETTING_SHOW_TAB_GRID_V1";
|
||||||
public static final String SETTING_SHOW_FONTS = "SETTING_SHOW_FONTS";
|
public static final String SETTING_SHOW_FONTS = "SETTING_SHOW_FONTS_V1";
|
||||||
public static final String SETTING_TOOLBAR_THEME = "SETTING_TOOLBAR_THEME";
|
public static final String SETTING_TOOLBAR_THEME = "SETTING_TOOLBAR_THEME_V1";
|
||||||
public static final String SETTING_THEME = "SETTING_THEME_LIGHT";
|
public static final String SETTING_THEME = "SETTING_THEME_LIGHT_V1";
|
||||||
public static final String SETTING_FULL_SCREEN_BROWSIING = "SETTING_FULL_SCREEN_BROWSIING";
|
public static final String SETTING_FULL_SCREEN_BROWSIING = "SETTING_FULL_SCREEN_BROWSIING_V1";
|
||||||
public static final String SETTING_OPEN_URL_IN_NEW_TAB = "SETTING_OPEN_URL_IN_NEW_TAB";
|
public static final String SETTING_OPEN_URL_IN_NEW_TAB = "SETTING_OPEN_URL_IN_NEW_TAB_V1";
|
||||||
public static final String SETTING_LIST_VIEW = "SETTING_LIST_VIEW";
|
public static final String SETTING_LIST_VIEW = "SETTING_LIST_VIEW_V1";
|
||||||
public static final String SETTING_TOOLBAR_THEME_ALLOWED = "SETTING_TOOLBAR_THEME_ALLOWED";
|
|
||||||
|
|
||||||
/*Bridge Settings*/
|
/*Bridge Settings*/
|
||||||
|
|
||||||
public static final String BRIDGE_CUSTOM_BRIDGE_1 = "CLEAR_PREFS";
|
public static final String BRIDGE_CUSTOM_BRIDGE_1 = "CLEAR_PREFS_V1";
|
||||||
public static final String BRIDGE_CUSTOM_TYPE = "BRIDGE_CUSTOM_TYPE";
|
public static final String BRIDGE_CUSTOM_TYPE = "BRIDGE_CUSTOM_TYPE_V1";
|
||||||
public static final String BRIDGE_NOTIFICATION = "BRIDGE_NOTIFICATION";
|
public static final String BRIDGE_ENABLES = "pref_bridges_enabled_V1";
|
||||||
public static final String BRIDGE_ENABLES = "pref_bridges_enabled";
|
public static final String VPN_ENABLED = "pref_vpn_V1";
|
||||||
public static final String VPN_ENABLED = "pref_vpn";
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,14 @@
|
||||||
package com.darkweb.genesissearchengine.constants;
|
package com.darkweb.genesissearchengine.constants;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
|
||||||
import com.darkweb.genesissearchengine.dataManager.dataController;
|
import com.darkweb.genesissearchengine.dataManager.dataController;
|
||||||
import com.darkweb.genesissearchengine.dataManager.dataEnums;
|
import com.darkweb.genesissearchengine.dataManager.dataEnums;
|
||||||
|
|
||||||
import org.mozilla.geckoview.ContentBlocking;
|
import org.mozilla.geckoview.ContentBlocking;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
import static org.mozilla.geckoview.ContentBlocking.CookieBehavior.ACCEPT_FIRST_PARTY;
|
import static org.mozilla.geckoview.ContentBlocking.CookieBehavior.ACCEPT_FIRST_PARTY;
|
||||||
|
|
||||||
|
@ -14,7 +17,6 @@ public class status
|
||||||
/*App Status*/
|
/*App Status*/
|
||||||
|
|
||||||
public static boolean sPaidStatus = false;
|
public static boolean sPaidStatus = false;
|
||||||
public static String mCurrentReloadURL = "";
|
|
||||||
public static int mNotificationID = 1001;
|
public static int mNotificationID = 1001;
|
||||||
|
|
||||||
/*Settings Status*/
|
/*Settings Status*/
|
||||||
|
@ -26,6 +28,8 @@ public class status
|
||||||
public static String mReferenceWebsites;
|
public static String mReferenceWebsites;
|
||||||
public static String sBridgeCustomBridge = strings.GENERIC_EMPTY_STR;
|
public static String sBridgeCustomBridge = strings.GENERIC_EMPTY_STR;
|
||||||
public static String sBridgeCustomType = strings.GENERIC_EMPTY_STR;
|
public static String sBridgeCustomType = strings.GENERIC_EMPTY_STR;
|
||||||
|
public static String sVersion = "";
|
||||||
|
public static Locale mSystemLocale = null;
|
||||||
|
|
||||||
public static boolean sSettingEnableZoom = true;
|
public static boolean sSettingEnableZoom = true;
|
||||||
public static boolean sSettingEnableVoiceInput = true;
|
public static boolean sSettingEnableVoiceInput = true;
|
||||||
|
@ -67,8 +71,20 @@ public class status
|
||||||
|
|
||||||
public static float sSettingFontSize = 1;
|
public static float sSettingFontSize = 1;
|
||||||
|
|
||||||
public static void initStatus()
|
private static void versionVerifier(Context pContext){
|
||||||
|
status.sVersion = (String)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_STRING, Arrays.asList(keys.SETTING_VERSION,strings.GENERIC_EMPTY_STR));
|
||||||
|
if(!status.sVersion.equals("1.0.0.1")){
|
||||||
|
pContext.deleteDatabase(constants.CONST_DATABASE_NAME);
|
||||||
|
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_CLEAR_PREFS, null);
|
||||||
|
status.sVersion = "1.0.0.1";
|
||||||
|
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_STRING, Arrays.asList(keys.SETTING_VERSION,strings.SETTING_DEFAULT_VERSION));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void initStatus(Context pContext)
|
||||||
{
|
{
|
||||||
|
versionVerifier(pContext);
|
||||||
|
|
||||||
status.sSettingSearchHistory = (boolean)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_BOOL, Arrays.asList(keys.SETTING_SEARCH_HISTORY,true));
|
status.sSettingSearchHistory = (boolean)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_BOOL, Arrays.asList(keys.SETTING_SEARCH_HISTORY,true));
|
||||||
status.sSearchSuggestionStatus = (boolean)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_BOOL, Arrays.asList(keys.SETTING_SEARCH_SUGGESTION,true));
|
status.sSearchSuggestionStatus = (boolean)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_BOOL, Arrays.asList(keys.SETTING_SEARCH_SUGGESTION,true));
|
||||||
status.sSettingJavaStatus = (boolean)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_BOOL, Arrays.asList(keys.SETTING_JAVA_SCRIPT,true));
|
status.sSettingJavaStatus = (boolean)dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_GET_BOOL, Arrays.asList(keys.SETTING_JAVA_SCRIPT,true));
|
||||||
|
|
|
@ -36,12 +36,13 @@ public class strings
|
||||||
public static final String GENERIC_EMPTY_SPACE = " ";
|
public static final String GENERIC_EMPTY_SPACE = " ";
|
||||||
|
|
||||||
/*Language Manager*/
|
/*Language Manager*/
|
||||||
public static final String LANGUAGE_NOT_SUPPORTED = "not supported";
|
public static final String LANGUAGE_NOT_SUPPORTED = "is unsupported";
|
||||||
|
|
||||||
/*Settings Manager*/
|
/*Settings Manager*/
|
||||||
|
|
||||||
public static final String SETTING_DEFAULT_LANGUAGE = "en";
|
public static final String SETTING_DEFAULT_LANGUAGE = "en";
|
||||||
public static final String SETTING_DEFAULT_LANGUAGE_REGION = "Us";
|
public static final String SETTING_DEFAULT_LANGUAGE_REGION = "Us";
|
||||||
|
public static final String SETTING_DEFAULT_VERSION = "1.0.0.1";
|
||||||
|
|
||||||
/*Home Manager*/
|
/*Home Manager*/
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.darkweb.genesissearchengine.dataManager;
|
package com.darkweb.genesissearchengine.dataManager;
|
||||||
|
|
||||||
import com.darkweb.genesissearchengine.appManager.bookmarkManager.bookmarkRowModel;
|
import com.darkweb.genesissearchengine.appManager.bookmarkManager.bookmarkRowModel;
|
||||||
import com.darkweb.genesissearchengine.appManager.databaseManager.databaseController;
|
import com.darkweb.genesissearchengine.databaseManager.databaseController;
|
||||||
import com.darkweb.genesissearchengine.constants.constants;
|
import com.darkweb.genesissearchengine.constants.constants;
|
||||||
import com.darkweb.genesissearchengine.constants.strings;
|
import com.darkweb.genesissearchengine.constants.strings;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
|
@ -2,12 +2,10 @@ package com.darkweb.genesissearchengine.dataManager;
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import com.darkweb.genesissearchengine.appManager.activityContextManager;
|
import com.darkweb.genesissearchengine.appManager.activityContextManager;
|
||||||
import com.darkweb.genesissearchengine.appManager.databaseManager.databaseController;
|
import com.darkweb.genesissearchengine.databaseManager.databaseController;
|
||||||
import com.darkweb.genesissearchengine.appManager.historyManager.historyRowModel;
|
|
||||||
import com.darkweb.genesissearchengine.constants.constants;
|
import com.darkweb.genesissearchengine.constants.constants;
|
||||||
import com.darkweb.genesissearchengine.constants.status;
|
import com.darkweb.genesissearchengine.constants.status;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -89,6 +87,9 @@ public class dataController
|
||||||
|
|
||||||
/*Recieving Preferences*/
|
/*Recieving Preferences*/
|
||||||
public Object invokePrefs(dataEnums.ePreferencesCommands pCommands, List<Object> pData){
|
public Object invokePrefs(dataEnums.ePreferencesCommands pCommands, List<Object> pData){
|
||||||
|
if(mPreferenceModel==null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return mPreferenceModel.onTrigger(pCommands, pData);
|
return mPreferenceModel.onTrigger(pCommands, pData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.darkweb.genesissearchengine.dataManager;
|
package com.darkweb.genesissearchengine.dataManager;
|
||||||
|
|
||||||
import com.darkweb.genesissearchengine.appManager.databaseManager.databaseController;
|
import com.darkweb.genesissearchengine.databaseManager.databaseController;
|
||||||
import com.darkweb.genesissearchengine.appManager.historyManager.historyRowModel;
|
import com.darkweb.genesissearchengine.appManager.historyManager.historyRowModel;
|
||||||
import com.darkweb.genesissearchengine.constants.constants;
|
import com.darkweb.genesissearchengine.constants.constants;
|
||||||
import com.darkweb.genesissearchengine.constants.status;
|
import com.darkweb.genesissearchengine.constants.status;
|
||||||
|
|
|
@ -10,7 +10,7 @@ import android.util.Log;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import com.darkweb.genesissearchengine.appManager.activityContextManager;
|
import com.darkweb.genesissearchengine.appManager.activityContextManager;
|
||||||
import com.darkweb.genesissearchengine.appManager.databaseManager.databaseController;
|
import com.darkweb.genesissearchengine.databaseManager.databaseController;
|
||||||
import com.darkweb.genesissearchengine.appManager.homeManager.geckoManager.NestedGeckoView;
|
import com.darkweb.genesissearchengine.appManager.homeManager.geckoManager.NestedGeckoView;
|
||||||
import com.darkweb.genesissearchengine.appManager.homeManager.geckoManager.geckoSession;
|
import com.darkweb.genesissearchengine.appManager.homeManager.geckoManager.geckoSession;
|
||||||
import com.darkweb.genesissearchengine.appManager.tabManager.tabRowModel;
|
import com.darkweb.genesissearchengine.appManager.tabManager.tabRowModel;
|
||||||
|
@ -18,6 +18,8 @@ import com.darkweb.genesissearchengine.constants.enums;
|
||||||
import com.darkweb.genesissearchengine.constants.status;
|
import com.darkweb.genesissearchengine.constants.status;
|
||||||
import com.darkweb.genesissearchengine.constants.strings;
|
import com.darkweb.genesissearchengine.constants.strings;
|
||||||
import org.mozilla.geckoview.GeckoResult;
|
import org.mozilla.geckoview.GeckoResult;
|
||||||
|
import org.mozilla.geckoview.GeckoView;
|
||||||
|
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
|
@ -213,7 +215,7 @@ class tabDataModel
|
||||||
};
|
};
|
||||||
|
|
||||||
// int isLoading = 0;
|
// int isLoading = 0;
|
||||||
public void updatePixels(String pSessionID, GeckoResult<Bitmap> pBitmapManager, ImageView pImageView, NestedGeckoView pGeckoView, boolean pOpenTabView){
|
public void updatePixels(String pSessionID, GeckoResult<Bitmap> pBitmapManager, ImageView pImageView, GeckoView pGeckoView, boolean pOpenTabView){
|
||||||
|
|
||||||
new Thread(){
|
new Thread(){
|
||||||
public void run(){
|
public void run(){
|
||||||
|
@ -241,11 +243,9 @@ class tabDataModel
|
||||||
}
|
}
|
||||||
|
|
||||||
byte[] mThumbnail = out.toByteArray();
|
byte[] mThumbnail = out.toByteArray();
|
||||||
if(status.sRestoreTabs){
|
ContentValues mContentValues = new ContentValues();
|
||||||
ContentValues mContentValues = new ContentValues();
|
mContentValues.put("mThumbnail", mThumbnail);
|
||||||
mContentValues.put("mThumbnail", mThumbnail);
|
databaseController.getInstance().execTab("tab",mContentValues, mTabs.get(finalCounter).getmId());
|
||||||
databaseController.getInstance().execTab("tab",mContentValues, mTabs.get(finalCounter).getmId());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -320,7 +320,7 @@ class tabDataModel
|
||||||
return getSuggestions((String) pData.get(0));
|
return getSuggestions((String) pData.get(0));
|
||||||
}
|
}
|
||||||
else if(pCommands == dataEnums.eTabCommands.M_UPDATE_PIXEL){
|
else if(pCommands == dataEnums.eTabCommands.M_UPDATE_PIXEL){
|
||||||
updatePixels((String)pData.get(0), (GeckoResult<Bitmap>)pData.get(1), (ImageView) pData.get(2), (NestedGeckoView) pData.get(3), (Boolean) pData.get(4));
|
updatePixels((String)pData.get(0), (GeckoResult<Bitmap>)pData.get(1), (ImageView) pData.get(2), (GeckoView) pData.get(3), (Boolean) pData.get(4));
|
||||||
}
|
}
|
||||||
else if(pCommands == dataEnums.eTabCommands.M_HOME_PAGE){
|
else if(pCommands == dataEnums.eTabCommands.M_HOME_PAGE){
|
||||||
return getHomePage();
|
return getHomePage();
|
||||||
|
|
|
@ -1,159 +1,159 @@
|
||||||
package com.darkweb.genesissearchengine.appManager.databaseManager;
|
package com.darkweb.genesissearchengine.databaseManager;
|
||||||
|
|
||||||
import android.content.ContentValues;
|
import android.content.ContentValues;
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.database.sqlite.SQLiteDatabase;
|
import android.database.sqlite.SQLiteDatabase;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import com.darkweb.genesissearchengine.appManager.activityContextManager;
|
import com.darkweb.genesissearchengine.appManager.activityContextManager;
|
||||||
import com.darkweb.genesissearchengine.appManager.bookmarkManager.bookmarkRowModel;
|
import com.darkweb.genesissearchengine.appManager.bookmarkManager.bookmarkRowModel;
|
||||||
import com.darkweb.genesissearchengine.appManager.historyManager.historyRowModel;
|
import com.darkweb.genesissearchengine.appManager.historyManager.historyRowModel;
|
||||||
import com.darkweb.genesissearchengine.appManager.homeManager.geckoManager.geckoSession;
|
import com.darkweb.genesissearchengine.appManager.homeManager.geckoManager.geckoSession;
|
||||||
import com.darkweb.genesissearchengine.appManager.tabManager.tabRowModel;
|
import com.darkweb.genesissearchengine.appManager.tabManager.tabRowModel;
|
||||||
import com.darkweb.genesissearchengine.constants.constants;
|
import com.darkweb.genesissearchengine.constants.constants;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import static android.content.Context.MODE_PRIVATE;
|
import static android.content.Context.MODE_PRIVATE;
|
||||||
|
|
||||||
public class databaseController
|
public class databaseController
|
||||||
{
|
{
|
||||||
|
|
||||||
/*Private Variables*/
|
/*Private Variables*/
|
||||||
|
|
||||||
private static final databaseController sOurInstance = new databaseController();
|
private static final databaseController sOurInstance = new databaseController();
|
||||||
private SQLiteDatabase mDatabaseInstance;
|
private SQLiteDatabase mDatabaseInstance;
|
||||||
|
|
||||||
public static databaseController getInstance()
|
public static databaseController getInstance()
|
||||||
{
|
{
|
||||||
return sOurInstance;
|
return sOurInstance;
|
||||||
}
|
}
|
||||||
|
|
||||||
private databaseController()
|
private databaseController()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/*Initializations*/
|
/*Initializations*/
|
||||||
|
|
||||||
public void initialize(AppCompatActivity app_context)
|
public void initialize(AppCompatActivity app_context)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
mDatabaseInstance = app_context.openOrCreateDatabase(constants.CONST_DATABASE_NAME, MODE_PRIVATE, null);
|
mDatabaseInstance = app_context.openOrCreateDatabase(constants.CONST_DATABASE_NAME, MODE_PRIVATE, null);
|
||||||
|
|
||||||
mDatabaseInstance.execSQL("CREATE TABLE IF NOT EXISTS " + "history" + " (id INT(4) PRIMARY KEY,date DATETIME,url VARCHAR,title VARCHAR);");
|
mDatabaseInstance.execSQL("CREATE TABLE IF NOT EXISTS " + "history" + " (id INT(4) PRIMARY KEY,date DATETIME,url VARCHAR,title VARCHAR);");
|
||||||
mDatabaseInstance.execSQL("CREATE TABLE IF NOT EXISTS " + "bookmark" + " (id INT(4) PRIMARY KEY,title VARCHAR,url VARCHAR);");
|
mDatabaseInstance.execSQL("CREATE TABLE IF NOT EXISTS " + "bookmark" + " (id INT(4) PRIMARY KEY,title VARCHAR,url VARCHAR);");
|
||||||
mDatabaseInstance.execSQL("CREATE TABLE IF NOT EXISTS " + "tab" + " (mid INT(4) PRIMARY KEY,date,title VARCHAR,url VARCHAR,mThumbnail BLOB, theme VARCHAR);");
|
mDatabaseInstance.execSQL("CREATE TABLE IF NOT EXISTS " + "tab" + " (mid INT(4) PRIMARY KEY,date,title VARCHAR,url VARCHAR,mThumbnail BLOB, theme VARCHAR);");
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*Helper Methods*/
|
/*Helper Methods*/
|
||||||
|
|
||||||
|
|
||||||
public void execSQL(String query,String[] params)
|
public void execSQL(String query,String[] params)
|
||||||
{
|
{
|
||||||
if(params==null)
|
if(params==null)
|
||||||
{
|
{
|
||||||
mDatabaseInstance.execSQL(query);
|
mDatabaseInstance.execSQL(query);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mDatabaseInstance.execSQL(query,params);
|
mDatabaseInstance.execSQL(query,params);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void execTab(String query, ContentValues params,String pID)
|
public void execTab(String query, ContentValues params,String pID)
|
||||||
{
|
{
|
||||||
if(params!=null)
|
if(params!=null)
|
||||||
{
|
{
|
||||||
mDatabaseInstance.update(query, params, "mid = ?", new String[]{pID});
|
mDatabaseInstance.update(query, params, "mid = ?", new String[]{pID});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<historyRowModel> selectHistory(int startIndex,int endIndex){
|
public ArrayList<historyRowModel> selectHistory(int startIndex,int endIndex){
|
||||||
ArrayList<historyRowModel> tempmodel = new ArrayList<>();
|
ArrayList<historyRowModel> tempmodel = new ArrayList<>();
|
||||||
|
|
||||||
Cursor c = mDatabaseInstance.rawQuery("SELECT * FROM history ORDER BY date DESC LIMIT " + endIndex + " OFFSET "+startIndex, null);
|
Cursor c = mDatabaseInstance.rawQuery("SELECT * FROM history ORDER BY date DESC LIMIT " + endIndex + " OFFSET "+startIndex, null);
|
||||||
if (c.moveToFirst()){
|
if (c.moveToFirst()){
|
||||||
do {
|
do {
|
||||||
historyRowModel model = new historyRowModel(c.getString(3), c.getString(2),Integer.parseInt(c.getString(0)));
|
historyRowModel model = new historyRowModel(c.getString(3), c.getString(2),Integer.parseInt(c.getString(0)));
|
||||||
try {
|
try {
|
||||||
Date m_date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS", Locale.US).parse(c.getString(1));
|
Date m_date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS", Locale.US).parse(c.getString(1));
|
||||||
model.setDate(m_date);
|
model.setDate(m_date);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
if(Calendar.getInstance().getTime().getTime() < model.getDate().getTime()){
|
if(Calendar.getInstance().getTime().getTime() < model.getDate().getTime()){
|
||||||
tempmodel.add(model);
|
tempmodel.add(model);
|
||||||
}else {
|
}else {
|
||||||
tempmodel.add(model);
|
tempmodel.add(model);
|
||||||
}
|
}
|
||||||
} while(c.moveToNext());
|
} while(c.moveToNext());
|
||||||
}
|
}
|
||||||
c.close();
|
c.close();
|
||||||
|
|
||||||
return tempmodel;
|
return tempmodel;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<tabRowModel> selectTabs(){
|
public ArrayList<tabRowModel> selectTabs(){
|
||||||
ArrayList<tabRowModel> mTempListModel = new ArrayList<>();
|
ArrayList<tabRowModel> mTempListModel = new ArrayList<>();
|
||||||
|
|
||||||
Cursor c = mDatabaseInstance.rawQuery("SELECT * FROM tab ORDER BY date DESC", null);
|
Cursor c = mDatabaseInstance.rawQuery("SELECT * FROM tab ORDER BY date DESC", null);
|
||||||
if (c.moveToFirst()){
|
if (c.moveToFirst()){
|
||||||
do {
|
do {
|
||||||
geckoSession mSession = activityContextManager.getInstance().getHomeController().onNewTabInit();
|
geckoSession mSession = activityContextManager.getInstance().getHomeController().onNewTabInit();
|
||||||
tabRowModel model = new tabRowModel(c.getString(0), c.getString(1),c.getBlob(4));
|
tabRowModel model = new tabRowModel(c.getString(0), c.getString(1),c.getBlob(4));
|
||||||
model.setSession(mSession, c.getString(2),c.getString(3), c.getString(5));
|
model.setSession(mSession, c.getString(2),c.getString(3), c.getString(5));
|
||||||
model.getSession().setSessionID(model.getmId());
|
model.getSession().setSessionID(model.getmId());
|
||||||
mTempListModel.add(model);
|
mTempListModel.add(model);
|
||||||
} while(c.moveToNext());
|
} while(c.moveToNext());
|
||||||
}
|
}
|
||||||
c.close();
|
c.close();
|
||||||
|
|
||||||
return mTempListModel;
|
return mTempListModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getLargestHistoryID(){
|
public int getLargestHistoryID(){
|
||||||
int id = 0;
|
int id = 0;
|
||||||
Cursor c = mDatabaseInstance.rawQuery("SELECT max(id) FROM history", null);
|
Cursor c = mDatabaseInstance.rawQuery("SELECT max(id) FROM history", null);
|
||||||
|
|
||||||
if (c.moveToFirst()){
|
if (c.moveToFirst()){
|
||||||
do {
|
do {
|
||||||
if(c.getString(0)==null){
|
if(c.getString(0)==null){
|
||||||
break;
|
break;
|
||||||
}else {
|
}else {
|
||||||
id = Integer.parseInt(c.getString(0));
|
id = Integer.parseInt(c.getString(0));
|
||||||
}
|
}
|
||||||
} while(c.moveToNext());
|
} while(c.moveToNext());
|
||||||
}
|
}
|
||||||
c.close();
|
c.close();
|
||||||
|
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<bookmarkRowModel> selectBookmark(){
|
public ArrayList<bookmarkRowModel> selectBookmark(){
|
||||||
ArrayList<bookmarkRowModel> tempmodel = new ArrayList<>();
|
ArrayList<bookmarkRowModel> tempmodel = new ArrayList<>();
|
||||||
Cursor c = mDatabaseInstance.rawQuery("SELECT * FROM bookmark ORDER BY id DESC ", null);
|
Cursor c = mDatabaseInstance.rawQuery("SELECT * FROM bookmark ORDER BY id DESC ", null);
|
||||||
|
|
||||||
if (c.moveToFirst()){
|
if (c.moveToFirst()){
|
||||||
do {
|
do {
|
||||||
tempmodel.add(new bookmarkRowModel(c.getString(1), c.getString(2),Integer.parseInt(c.getString(0))));
|
tempmodel.add(new bookmarkRowModel(c.getString(1), c.getString(2),Integer.parseInt(c.getString(0))));
|
||||||
} while(c.moveToNext());
|
} while(c.moveToNext());
|
||||||
}
|
}
|
||||||
c.close();
|
c.close();
|
||||||
|
|
||||||
return tempmodel;
|
return tempmodel;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deleteFromList(int index,String table) {
|
public void deleteFromList(int index,String table) {
|
||||||
databaseController.getInstance().execSQL("delete from "+table+" where id="+index,null);
|
databaseController.getInstance().execSQL("delete from "+table+" where id="+index,null);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,26 +1,17 @@
|
||||||
package com.darkweb.genesissearchengine.appManager.externalNavigationManager;
|
package com.darkweb.genesissearchengine.externalNavigationManager;
|
||||||
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import androidx.fragment.app.FragmentActivity;
|
|
||||||
|
|
||||||
import com.darkweb.genesissearchengine.appManager.activityContextManager;
|
import com.darkweb.genesissearchengine.appManager.activityContextManager;
|
||||||
import com.darkweb.genesissearchengine.appManager.homeManager.homeController.homeController;
|
import com.darkweb.genesissearchengine.appManager.homeManager.homeController.homeController;
|
||||||
import com.darkweb.genesissearchengine.appManager.landingManager.landingController;
|
|
||||||
import com.darkweb.genesissearchengine.constants.constants;
|
|
||||||
import com.darkweb.genesissearchengine.constants.status;
|
import com.darkweb.genesissearchengine.constants.status;
|
||||||
import com.darkweb.genesissearchengine.helperManager.helperMethod;
|
|
||||||
import com.example.myapplication.R;
|
import com.example.myapplication.R;
|
||||||
|
|
||||||
import java.util.Collections;
|
|
||||||
|
|
||||||
import static com.darkweb.genesissearchengine.constants.enums.etype.M_INITIALIZE_TAB_LINK;
|
|
||||||
|
|
||||||
public class externalNavigationController extends AppCompatActivity {
|
public class externalNavigationController extends AppCompatActivity {
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
|
@ -22,6 +22,7 @@ import android.graphics.drawable.ColorDrawable;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.graphics.drawable.TransitionDrawable;
|
import android.graphics.drawable.TransitionDrawable;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
import android.os.Build;
|
||||||
import android.os.Vibrator;
|
import android.os.Vibrator;
|
||||||
import android.text.SpannableString;
|
import android.text.SpannableString;
|
||||||
import android.text.Spanned;
|
import android.text.Spanned;
|
||||||
|
@ -32,6 +33,7 @@ import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewAnimationUtils;
|
import android.view.ViewAnimationUtils;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
import android.view.WindowManager;
|
||||||
import android.view.animation.Animation;
|
import android.view.animation.Animation;
|
||||||
import android.view.animation.AnimationUtils;
|
import android.view.animation.AnimationUtils;
|
||||||
import android.view.animation.RotateAnimation;
|
import android.view.animation.RotateAnimation;
|
||||||
|
@ -485,6 +487,42 @@ public class helperMethod
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Point getNavigationBarSize(Context context) {
|
||||||
|
Point appUsableSize = getAppUsableScreenSize(context);
|
||||||
|
Point realScreenSize = getRealScreenSize(context);
|
||||||
|
|
||||||
|
// navigation bar on the side
|
||||||
|
if (appUsableSize.x < realScreenSize.x) {
|
||||||
|
return new Point(realScreenSize.x - appUsableSize.x, appUsableSize.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
// navigation bar at the bottom
|
||||||
|
if (appUsableSize.y < realScreenSize.y) {
|
||||||
|
return new Point(appUsableSize.x, realScreenSize.y - appUsableSize.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
// navigation bar is not present
|
||||||
|
return new Point();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Point getAppUsableScreenSize(Context context) {
|
||||||
|
WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
|
||||||
|
Display display = windowManager.getDefaultDisplay();
|
||||||
|
Point size = new Point();
|
||||||
|
display.getSize(size);
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Point getRealScreenSize(Context context) {
|
||||||
|
WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
|
||||||
|
Display display = windowManager.getDefaultDisplay();
|
||||||
|
Point size = new Point();
|
||||||
|
|
||||||
|
display.getRealSize(size);
|
||||||
|
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|
||||||
public static void openActivity( Class<?> cls,int type,AppCompatActivity context,boolean animation){
|
public static void openActivity( Class<?> cls,int type,AppCompatActivity context,boolean animation){
|
||||||
Intent myIntent = new Intent(context, cls);
|
Intent myIntent = new Intent(context, cls);
|
||||||
myIntent.putExtra(keys.PROXY_LIST_TYPE, type);
|
myIntent.putExtra(keys.PROXY_LIST_TYPE, type);
|
||||||
|
|
|
@ -59,7 +59,6 @@ public class theme {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Context setupTheme(Context context) {
|
public Context setupTheme(Context context) {
|
||||||
|
|
|
@ -5,6 +5,8 @@ import android.view.View;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import com.darkweb.genesissearchengine.helperManager.eventObserver;
|
import com.darkweb.genesissearchengine.helperManager.eventObserver;
|
||||||
import com.google.android.gms.ads.*;
|
import com.google.android.gms.ads.*;
|
||||||
|
|
||||||
|
import java.lang.ref.WeakReference;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Timer;
|
import java.util.Timer;
|
||||||
import java.util.TimerTask;
|
import java.util.TimerTask;
|
||||||
|
@ -17,38 +19,36 @@ class adManager
|
||||||
|
|
||||||
/*Private Variables */
|
/*Private Variables */
|
||||||
|
|
||||||
private AppCompatActivity mAppContext;
|
|
||||||
private eventObserver.eventListener mEvent;
|
private eventObserver.eventListener mEvent;
|
||||||
private AdView mBannerAds;
|
private WeakReference<AdView> mBannerAds;
|
||||||
|
|
||||||
private boolean bannerAdsLoading = false;
|
private boolean bannerAdsLoading = false;
|
||||||
private boolean bannerAdsLoaded = false;
|
private boolean bannerAdsLoaded = false;
|
||||||
|
|
||||||
/*Initializations*/
|
/*Initializations*/
|
||||||
|
|
||||||
adManager(AppCompatActivity pAppContext, eventObserver.eventListener pEvent, AdView pBannerAds) {
|
adManager(eventObserver.eventListener pEvent, AdView pBannerAds) {
|
||||||
this.mAppContext = pAppContext;
|
|
||||||
this.mEvent = pEvent;
|
this.mEvent = pEvent;
|
||||||
mBannerAds = pBannerAds;
|
mBannerAds = new WeakReference(pBannerAds);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeBannerAds(){
|
private void initializeBannerAds(){
|
||||||
if(!sPaidStatus){
|
if(!sPaidStatus){
|
||||||
AdRequest request = new AdRequest.Builder().build();
|
AdRequest request = new AdRequest.Builder().build();
|
||||||
mBannerAds.loadAd(request);
|
mBannerAds.get().loadAd(request);
|
||||||
admobListeners();
|
admobListeners();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*Local Helper Methods*/
|
/*Local Helper Methods*/
|
||||||
|
|
||||||
private void loadAds(){
|
private void loadAds(AppCompatActivity pAppContext){
|
||||||
if(!sPaidStatus)
|
if(!sPaidStatus)
|
||||||
{
|
{
|
||||||
if (!bannerAdsLoading)
|
if (!bannerAdsLoading)
|
||||||
{
|
{
|
||||||
bannerAdsLoading = true;
|
bannerAdsLoading = true;
|
||||||
MobileAds.initialize(mAppContext, initializationStatus -> { });
|
MobileAds.initialize(pAppContext.getApplicationContext(), initializationStatus -> { });
|
||||||
|
|
||||||
initializeBannerAds();
|
initializeBannerAds();
|
||||||
}
|
}
|
||||||
|
@ -63,7 +63,7 @@ class adManager
|
||||||
|
|
||||||
private void admobListeners(){
|
private void admobListeners(){
|
||||||
if(!sPaidStatus){
|
if(!sPaidStatus){
|
||||||
mBannerAds.setAdListener(new AdListener() {
|
mBannerAds.get().setAdListener(new AdListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onAdLoaded() {
|
public void onAdLoaded() {
|
||||||
bannerAdsLoaded = true;
|
bannerAdsLoaded = true;
|
||||||
|
@ -93,7 +93,7 @@ class adManager
|
||||||
Object onTrigger(List<Object> pData, pluginEnums.eAdManager pEventType) {
|
Object onTrigger(List<Object> pData, pluginEnums.eAdManager pEventType) {
|
||||||
if(pEventType.equals(pluginEnums.eAdManager.M_INITIALIZE_BANNER_ADS))
|
if(pEventType.equals(pluginEnums.eAdManager.M_INITIALIZE_BANNER_ADS))
|
||||||
{
|
{
|
||||||
loadAds();
|
loadAds((AppCompatActivity)pData.get(0));
|
||||||
}
|
}
|
||||||
else if(pEventType.equals(pluginEnums.eAdManager.M_IS_ADVERT_LOADED))
|
else if(pEventType.equals(pluginEnums.eAdManager.M_IS_ADVERT_LOADED))
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,17 +3,19 @@ package com.darkweb.genesissearchengine.pluginManager;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import com.darkweb.genesissearchengine.helperManager.eventObserver;
|
import com.darkweb.genesissearchengine.helperManager.eventObserver;
|
||||||
import com.flurry.android.FlurryAgent;
|
import com.flurry.android.FlurryAgent;
|
||||||
|
|
||||||
|
import java.lang.ref.WeakReference;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
class analyticManager
|
class analyticManager
|
||||||
{
|
{
|
||||||
/*Private Variables*/
|
/*Private Variables*/
|
||||||
|
|
||||||
private AppCompatActivity mAppContext;
|
private WeakReference<AppCompatActivity> mAppContext;
|
||||||
|
|
||||||
/*Initializations*/
|
/*Initializations*/
|
||||||
|
|
||||||
analyticManager(AppCompatActivity pAppContext, eventObserver.eventListener pEvent){
|
analyticManager(WeakReference<AppCompatActivity> pAppContext, eventObserver.eventListener pEvent){
|
||||||
this.mAppContext = pAppContext;
|
this.mAppContext = pAppContext;
|
||||||
initialize();
|
initialize();
|
||||||
}
|
}
|
||||||
|
@ -22,7 +24,7 @@ class analyticManager
|
||||||
{
|
{
|
||||||
new FlurryAgent.Builder()
|
new FlurryAgent.Builder()
|
||||||
.withLogEnabled(true)
|
.withLogEnabled(true)
|
||||||
.build(mAppContext, "BKFSCH4CRS6RB9HSCM9H");
|
.build(mAppContext.get().getApplicationContext(), "BKFSCH4CRS6RB9HSCM9H");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*External Triggers*/
|
/*External Triggers*/
|
||||||
|
|
|
@ -5,6 +5,8 @@ import androidx.appcompat.app.AppCompatActivity;
|
||||||
import com.darkweb.genesissearchengine.helperManager.localFileDownloader;
|
import com.darkweb.genesissearchengine.helperManager.localFileDownloader;
|
||||||
import com.darkweb.genesissearchengine.helperManager.eventObserver;
|
import com.darkweb.genesissearchengine.helperManager.eventObserver;
|
||||||
import com.darkweb.genesissearchengine.helperManager.helperMethod;
|
import com.darkweb.genesissearchengine.helperManager.helperMethod;
|
||||||
|
|
||||||
|
import java.lang.ref.WeakReference;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -14,12 +16,12 @@ class downloadManager
|
||||||
{
|
{
|
||||||
/*Private Variables*/
|
/*Private Variables*/
|
||||||
|
|
||||||
private AppCompatActivity mAppContext;
|
private WeakReference<AppCompatActivity> mAppContext;
|
||||||
private Map<Integer, localFileDownloader> mDownloads = new HashMap<Integer, localFileDownloader>();
|
private Map<Integer, localFileDownloader> mDownloads = new HashMap<Integer, localFileDownloader>();
|
||||||
|
|
||||||
/*Initializations*/
|
/*Initializations*/
|
||||||
|
|
||||||
downloadManager(AppCompatActivity pAppContext, eventObserver.eventListener pEvent){
|
downloadManager(WeakReference<AppCompatActivity> pAppContext, eventObserver.eventListener pEvent){
|
||||||
this.mAppContext = pAppContext;
|
this.mAppContext = pAppContext;
|
||||||
initialize();
|
initialize();
|
||||||
}
|
}
|
||||||
|
@ -30,7 +32,7 @@ class downloadManager
|
||||||
|
|
||||||
private void startDownload(String pPath,String pFile) {
|
private void startDownload(String pPath,String pFile) {
|
||||||
int mID = helperMethod.createNotificationID();
|
int mID = helperMethod.createNotificationID();
|
||||||
localFileDownloader mFileDownloader = (localFileDownloader)new localFileDownloader(mAppContext,pPath, pFile, mID).execute(pPath);
|
localFileDownloader mFileDownloader = (localFileDownloader)new localFileDownloader(mAppContext.get().getApplicationContext(),pPath, pFile, mID).execute(pPath);
|
||||||
mDownloads.put(mID,mFileDownloader);
|
mDownloads.put(mID,mFileDownloader);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,38 +3,75 @@ package com.darkweb.genesissearchengine.pluginManager;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
|
import android.os.Build;
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import com.darkweb.genesissearchengine.appManager.activityContextManager;
|
||||||
import com.darkweb.genesissearchengine.constants.status;
|
import com.darkweb.genesissearchengine.constants.status;
|
||||||
import com.darkweb.genesissearchengine.helperManager.eventObserver;
|
import com.darkweb.genesissearchengine.helperManager.eventObserver;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import static com.darkweb.genesissearchengine.constants.status.mSystemLocale;
|
||||||
|
|
||||||
class langManager {
|
class langManager {
|
||||||
|
|
||||||
/*Private Variables*/
|
/*Private Variables*/
|
||||||
|
|
||||||
private AppCompatActivity mAppContext;
|
|
||||||
private eventObserver.eventListener mEvent;
|
private eventObserver.eventListener mEvent;
|
||||||
private Locale mLanguage;
|
private Locale mLanguage;
|
||||||
|
|
||||||
/*Initializations*/
|
/*Initializations*/
|
||||||
|
|
||||||
langManager(AppCompatActivity pAppContext, eventObserver.eventListener pEvent, Locale pLanguage) {
|
langManager(AppCompatActivity pAppContext, eventObserver.eventListener pEvent, Locale pLanguage) {
|
||||||
this.mAppContext = pAppContext;
|
|
||||||
this.mEvent = pEvent;
|
this.mEvent = pEvent;
|
||||||
this.mLanguage = pLanguage;
|
this.mLanguage = pLanguage;
|
||||||
|
|
||||||
onInitLanguage(pAppContext);
|
onInitLanguage(pAppContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean initLocale(){
|
||||||
|
if(!status.mThemeApplying){
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||||
|
Locale mSystemLocale = Resources.getSystem().getConfiguration().getLocales().get(0);
|
||||||
|
if(mSystemLocale!=status.mSystemLocale || !mSystemLocale.getLanguage().equals(mLanguage.getLanguage()) ){
|
||||||
|
status.mSystemLocale = mSystemLocale;
|
||||||
|
/*if(activityContextManager.getInstance().getHomeController()!=null && status.sSettingLanguage.equals("default")){
|
||||||
|
return true;
|
||||||
|
}*/
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Locale mSystemLocale = Resources.getSystem().getConfiguration().locale;
|
||||||
|
if(mSystemLocale!=status.mSystemLocale || !mSystemLocale.getLanguage().equals(mLanguage.getLanguage())){
|
||||||
|
status.mSystemLocale = mSystemLocale;
|
||||||
|
activityContextManager.getInstance().getCurrentActivity().recreate();
|
||||||
|
/*if(activityContextManager.getInstance().getHomeController()!=null && status.sSettingLanguage.equals("default")){
|
||||||
|
return true;
|
||||||
|
}*/
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
private void onInitLanguage(AppCompatActivity pAppContext) {
|
private void onInitLanguage(AppCompatActivity pAppContext) {
|
||||||
if(status.sSettingLanguage.equals("default")){
|
if(status.sSettingLanguage.equals("default")){
|
||||||
if(mLanguage==null || !mLanguage.getLanguage().equals(Resources.getSystem().getConfiguration().locale.getLanguage()) || !mLanguage.getCountry().equals(Resources.getSystem().getConfiguration().locale.getCountry()))
|
if(!mLanguage.getLanguage().equals(Resources.getSystem().getConfiguration().locale.getLanguage()) || !mLanguage.getCountry().equals(Resources.getSystem().getConfiguration().locale.getCountry()))
|
||||||
{
|
{
|
||||||
Locale mSystemLocale = Resources.getSystem().getConfiguration().locale;
|
if(mSystemLocale==null){
|
||||||
|
initLocale();
|
||||||
|
}
|
||||||
String mSystemLangugage = mSystemLocale.toString();
|
String mSystemLangugage = mSystemLocale.toString();
|
||||||
if(mSystemLangugage.equals("en_US") || mSystemLangugage.equals("de_DE") || mSystemLangugage.equals("ur_UR") || mSystemLangugage.equals("ca_ES") || mSystemLangugage.equals("zh_CN") || mSystemLangugage.equals("ch_CZ") || mSystemLangugage.equals("nl_NL") || mSystemLangugage.equals("fr_FR") || mSystemLangugage.equals("el_GR") || mSystemLangugage.equals("hu_HU") || mSystemLangugage.equals("in_ID") || mSystemLangugage.equals("it_IT") || mSystemLangugage.equals("ja_JP") || mSystemLangugage.equals("ko_KR") || mSystemLangugage.equals("pt_PT") || mSystemLangugage.equals("ro_RO") || mSystemLangugage.equals("ru_RU") || mSystemLangugage.equals("th_TH") || mSystemLangugage.equals("tr_TR") || mSystemLangugage.equals("uk_UA") || mSystemLangugage.equals("vi_VN")){
|
if(mSystemLangugage.equals("en_US") || mSystemLangugage.equals("de_DE") || mSystemLangugage.equals("ur_UR") || mSystemLangugage.equals("ur_PK") || mSystemLangugage.equals("ca_ES") || mSystemLangugage.equals("zh_CN") || mSystemLangugage.equals("ch_CZ") || mSystemLangugage.equals("nl_NL") || mSystemLangugage.equals("fr_FR") || mSystemLangugage.equals("el_GR") || mSystemLangugage.equals("hu_HU") || mSystemLangugage.equals("in_ID") || mSystemLangugage.equals("it_IT") || mSystemLangugage.equals("ja_JP") || mSystemLangugage.equals("ko_KR") || mSystemLangugage.equals("pt_PT") || mSystemLangugage.equals("ro_RO") || mSystemLangugage.equals("ru_RU") || mSystemLangugage.equals("th_TH") || mSystemLangugage.equals("tr_TR") || mSystemLangugage.equals("uk_UA") || mSystemLangugage.equals("vi_VN")){
|
||||||
mLanguage = new Locale(mSystemLocale.getLanguage(), mSystemLocale.getCountry());
|
if(mSystemLangugage.equals("ur_PK")){
|
||||||
|
mLanguage = new Locale("ur", "Ur");
|
||||||
|
} else if(mSystemLangugage.equals("vi_VN")){
|
||||||
|
mLanguage = new Locale("ch", "Cz");
|
||||||
|
} else {
|
||||||
|
mLanguage = new Locale(mSystemLocale.getLanguage(), mSystemLocale.getCountry());
|
||||||
|
}
|
||||||
}else {
|
}else {
|
||||||
mLanguage = new Locale("en", "Us");
|
mLanguage = new Locale("en", "Us");
|
||||||
}
|
}
|
||||||
|
@ -66,7 +103,8 @@ class langManager {
|
||||||
if(status.sSettingLanguage.equals("default")){
|
if(status.sSettingLanguage.equals("default")){
|
||||||
Locale mSystemLocale = Resources.getSystem().getConfiguration().locale;
|
Locale mSystemLocale = Resources.getSystem().getConfiguration().locale;
|
||||||
String mSystemLangugage = mSystemLocale.toString();
|
String mSystemLangugage = mSystemLocale.toString();
|
||||||
if(mSystemLangugage.equals("en_US") || mSystemLangugage.equals("de_DE") || mSystemLangugage.equals("ca_ES") || mSystemLangugage.equals("zh_CN") || mSystemLangugage.equals("ch_CZ") || mSystemLangugage.equals("nl_NL") || mSystemLangugage.equals("fr_FR") || mSystemLangugage.equals("el_GR") || mSystemLangugage.equals("hu_HU") || mSystemLangugage.equals("in_ID") || mSystemLangugage.equals("it_IT") || mSystemLangugage.equals("ja_JP") || mSystemLangugage.equals("ko_KR") || mSystemLangugage.equals("pt_PT") || mSystemLangugage.equals("ro_RO") || mSystemLangugage.equals("ru_RU") || mSystemLangugage.equals("th_TH") || mSystemLangugage.equals("tr_TR") || mSystemLangugage.equals("uk_UA") || mSystemLangugage.equals("vi_VN")){
|
|
||||||
|
if(mSystemLangugage.equals("cs_CZ") || mSystemLangugage.equals("ur_PK") || mSystemLangugage.equals("en_US") || mSystemLangugage.equals("de_DE") || mSystemLangugage.equals("ca_ES") || mSystemLangugage.equals("zh_CN") || mSystemLangugage.equals("ch_CZ") || mSystemLangugage.equals("nl_NL") || mSystemLangugage.equals("fr_FR") || mSystemLangugage.equals("el_GR") || mSystemLangugage.equals("hu_HU") || mSystemLangugage.equals("in_ID") || mSystemLangugage.equals("it_IT") || mSystemLangugage.equals("ja_JP") || mSystemLangugage.equals("ko_KR") || mSystemLangugage.equals("pt_PT") || mSystemLangugage.equals("ro_RO") || mSystemLangugage.equals("ru_RU") || mSystemLangugage.equals("th_TH") || mSystemLangugage.equals("tr_TR") || mSystemLangugage.equals("uk_UA") || mSystemLangugage.equals("vi_VN")){
|
||||||
return "Default | " + mSystemLocale.getDisplayName();
|
return "Default | " + mSystemLocale.getDisplayName();
|
||||||
}else {
|
}else {
|
||||||
return mSystemLocale.getDisplayName() + " | is unsupported";
|
return mSystemLocale.getDisplayName() + " | is unsupported";
|
||||||
|
@ -85,6 +123,7 @@ class langManager {
|
||||||
}
|
}
|
||||||
else if(pEventType.equals(pluginEnums.eLangManager.M_RESUME))
|
else if(pEventType.equals(pluginEnums.eLangManager.M_RESUME))
|
||||||
{
|
{
|
||||||
|
boolean mStatus = initLocale();
|
||||||
onResume((AppCompatActivity) pData.get(0));
|
onResume((AppCompatActivity) pData.get(0));
|
||||||
}
|
}
|
||||||
else if(pEventType.equals(pluginEnums.eLangManager.M_SET_LANGUAGE))
|
else if(pEventType.equals(pluginEnums.eLangManager.M_SET_LANGUAGE))
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.darkweb.genesissearchengine.pluginManager;
|
package com.darkweb.genesissearchengine.pluginManager;
|
||||||
|
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
|
@ -48,32 +49,39 @@ class messageManager
|
||||||
|
|
||||||
/*Initializations*/
|
/*Initializations*/
|
||||||
|
|
||||||
|
private void onClearReference(){
|
||||||
|
mContext = null;
|
||||||
|
mData = null;
|
||||||
|
}
|
||||||
|
|
||||||
private void initializeDialog(int pLayout, int pGravity){
|
private void initializeDialog(int pLayout, int pGravity){
|
||||||
if(mDialog !=null && mDialog.isShowing()){
|
|
||||||
mDialog.dismiss();
|
|
||||||
}
|
|
||||||
|
|
||||||
mDialog = new Dialog(mContext);
|
|
||||||
mDialog.getWindow().setGravity(pGravity);
|
|
||||||
mDialog.getWindow().getAttributes().windowAnimations = R.style.dialiog_animation;
|
|
||||||
|
|
||||||
Drawable myDrawable;
|
|
||||||
Resources res = mContext.getResources();
|
|
||||||
try {
|
try {
|
||||||
myDrawable = Drawable.createFromXml(res, res.getXml(R.xml.hox_rounded_corner));
|
if(mDialog !=null && mDialog.isShowing()){
|
||||||
mDialog.getWindow().setBackgroundDrawable(myDrawable);
|
mDialog.dismiss();
|
||||||
} catch (Exception ignored) {
|
}
|
||||||
}
|
|
||||||
|
|
||||||
mDialog.setCancelable(true);
|
mDialog = new Dialog(mContext);
|
||||||
mDialog.setContentView(pLayout);
|
mDialog.getWindow().setGravity(pGravity);
|
||||||
|
mDialog.getWindow().getAttributes().windowAnimations = R.style.dialiog_animation;
|
||||||
|
|
||||||
ColorDrawable back = new ColorDrawable(Color.TRANSPARENT);
|
Drawable myDrawable;
|
||||||
InsetDrawable inset = new InsetDrawable(back, helperMethod.pxFromDp(15),0,helperMethod.pxFromDp(15),0);
|
Resources res = mContext.getResources();
|
||||||
mDialog.getWindow().setBackgroundDrawable(inset);
|
try {
|
||||||
mDialog.getWindow().setLayout(helperMethod.pxFromDp(350), -1);
|
myDrawable = Drawable.createFromXml(res, res.getXml(R.xml.hox_rounded_corner));
|
||||||
mDialog.getWindow().setLayout(ConstraintLayout.LayoutParams.MATCH_PARENT, ConstraintLayout.LayoutParams.WRAP_CONTENT);
|
mDialog.getWindow().setBackgroundDrawable(myDrawable);
|
||||||
mDialog.show();
|
} catch (Exception ignored) {
|
||||||
|
}
|
||||||
|
|
||||||
|
mDialog.setCancelable(true);
|
||||||
|
mDialog.setContentView(pLayout);
|
||||||
|
|
||||||
|
ColorDrawable back = new ColorDrawable(Color.TRANSPARENT);
|
||||||
|
InsetDrawable inset = new InsetDrawable(back, helperMethod.pxFromDp(15),0,helperMethod.pxFromDp(15),0);
|
||||||
|
mDialog.getWindow().setBackgroundDrawable(inset);
|
||||||
|
mDialog.getWindow().setLayout(helperMethod.pxFromDp(350), -1);
|
||||||
|
mDialog.getWindow().setLayout(ConstraintLayout.LayoutParams.MATCH_PARENT, ConstraintLayout.LayoutParams.WRAP_CONTENT);
|
||||||
|
mDialog.show();
|
||||||
|
}catch (Exception ignored){}
|
||||||
}
|
}
|
||||||
|
|
||||||
messageManager(eventObserver.eventListener event)
|
messageManager(eventObserver.eventListener event)
|
||||||
|
@ -113,6 +121,8 @@ class messageManager
|
||||||
mEvent.invokeObserver(null, M_CANCEL_WELCOME);
|
mEvent.invokeObserver(null, M_CANCEL_WELCOME);
|
||||||
mDialog.dismiss();
|
mDialog.dismiss();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
mDialog.setOnDismissListener(dialog -> onClearReference());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void languageSupportFailure()
|
private void languageSupportFailure()
|
||||||
|
@ -120,6 +130,7 @@ class messageManager
|
||||||
initializeDialog(R.layout.popup_language_support, Gravity.CENTER);
|
initializeDialog(R.layout.popup_language_support, Gravity.CENTER);
|
||||||
((TextView) mDialog.findViewById(R.id.pLanguage)).setText((mData.get(0).toString()));
|
((TextView) mDialog.findViewById(R.id.pLanguage)).setText((mData.get(0).toString()));
|
||||||
mDialog.findViewById(R.id.pDismiss).setOnClickListener(v -> mDialog.dismiss());
|
mDialog.findViewById(R.id.pDismiss).setOnClickListener(v -> mDialog.dismiss());
|
||||||
|
mDialog.setOnDismissListener(dialog -> onClearReference());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void rateFailure()
|
private void rateFailure()
|
||||||
|
@ -140,12 +151,14 @@ class messageManager
|
||||||
};
|
};
|
||||||
handler.postDelayed(runnable, 1000);
|
handler.postDelayed(runnable, 1000);
|
||||||
});
|
});
|
||||||
|
mDialog.setOnDismissListener(dialog -> onClearReference());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void reportedSuccessfully()
|
private void reportedSuccessfully()
|
||||||
{
|
{
|
||||||
initializeDialog(R.layout.popup_reported_successfully, Gravity.BOTTOM);
|
initializeDialog(R.layout.popup_reported_successfully, Gravity.BOTTOM);
|
||||||
mDialog.findViewById(R.id.pNext).setOnClickListener(v -> mDialog.dismiss());
|
mDialog.findViewById(R.id.pNext).setOnClickListener(v -> mDialog.dismiss());
|
||||||
|
mDialog.setOnDismissListener(dialog -> onClearReference());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void newIdentityCreated()
|
private void newIdentityCreated()
|
||||||
|
@ -156,7 +169,10 @@ class messageManager
|
||||||
initializeDialog(R.layout.popup_new_circuit, Gravity.BOTTOM);
|
initializeDialog(R.layout.popup_new_circuit, Gravity.BOTTOM);
|
||||||
mDialog.findViewById(R.id.pDismiss).setOnClickListener(v -> mDialog.dismiss());
|
mDialog.findViewById(R.id.pDismiss).setOnClickListener(v -> mDialog.dismiss());
|
||||||
|
|
||||||
mDialog.setOnDismissListener(dialog -> handler.removeCallbacks(runnable));
|
mDialog.setOnDismissListener(dialog -> {
|
||||||
|
handler.removeCallbacks(runnable);
|
||||||
|
onClearReference();
|
||||||
|
});
|
||||||
|
|
||||||
handler.postDelayed(runnable, 1500);
|
handler.postDelayed(runnable, 1500);
|
||||||
}
|
}
|
||||||
|
@ -175,10 +191,12 @@ class messageManager
|
||||||
handler.removeCallbacks(runnable);
|
handler.removeCallbacks(runnable);
|
||||||
});
|
});
|
||||||
|
|
||||||
mDialog.setOnDismissListener(dialog -> handler.removeCallbacks(runnable));
|
mDialog.setOnDismissListener(dialog -> {
|
||||||
|
handler.removeCallbacks(runnable);
|
||||||
|
onClearReference();
|
||||||
|
});
|
||||||
|
|
||||||
handler.postDelayed(runnable, 1500);
|
handler.postDelayed(runnable, 1500);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void maxTabReached()
|
private void maxTabReached()
|
||||||
|
@ -195,7 +213,10 @@ class messageManager
|
||||||
handler.removeCallbacks(runnable);
|
handler.removeCallbacks(runnable);
|
||||||
});
|
});
|
||||||
|
|
||||||
mDialog.setOnDismissListener(dialog -> handler.removeCallbacks(runnable));
|
mDialog.setOnDismissListener(dialog -> {
|
||||||
|
handler.removeCallbacks(runnable);
|
||||||
|
onClearReference();
|
||||||
|
});
|
||||||
|
|
||||||
handler.postDelayed(runnable, 1500);
|
handler.postDelayed(runnable, 1500);
|
||||||
|
|
||||||
|
@ -205,12 +226,14 @@ class messageManager
|
||||||
{
|
{
|
||||||
initializeDialog(R.layout.popup_not_supported, Gravity.BOTTOM);
|
initializeDialog(R.layout.popup_not_supported, Gravity.BOTTOM);
|
||||||
mDialog.findViewById(R.id.pDismiss).setOnClickListener(v -> mDialog.dismiss());
|
mDialog.findViewById(R.id.pDismiss).setOnClickListener(v -> mDialog.dismiss());
|
||||||
|
mDialog.setOnDismissListener(dialog -> onClearReference());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void dataClearedSuccessfully()
|
private void dataClearedSuccessfully()
|
||||||
{
|
{
|
||||||
initializeDialog(R.layout.popup_data_cleared, Gravity.BOTTOM);
|
initializeDialog(R.layout.popup_data_cleared, Gravity.BOTTOM);
|
||||||
mDialog.findViewById(R.id.pDismiss).setOnClickListener(v -> mDialog.dismiss());
|
mDialog.findViewById(R.id.pDismiss).setOnClickListener(v -> mDialog.dismiss());
|
||||||
|
mDialog.setOnDismissListener(dialog -> onClearReference());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -245,6 +268,7 @@ class messageManager
|
||||||
}
|
}
|
||||||
|
|
||||||
((TextView) mDialog.findViewById(R.id.pHeaderSubpart)).setText(helperMethod.getDomainName(mData.get(0).toString()));
|
((TextView) mDialog.findViewById(R.id.pHeaderSubpart)).setText(helperMethod.getDomainName(mData.get(0).toString()));
|
||||||
|
mDialog.setOnDismissListener(dialog -> onClearReference());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void bookmark()
|
private void bookmark()
|
||||||
|
@ -259,6 +283,7 @@ class messageManager
|
||||||
helperMethod.hideKeyboard(activityContextManager.getInstance().getHomeController());
|
helperMethod.hideKeyboard(activityContextManager.getInstance().getHomeController());
|
||||||
dialog.dismiss();
|
dialog.dismiss();
|
||||||
mContext.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
|
mContext.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
|
||||||
|
onClearReference();
|
||||||
};
|
};
|
||||||
handler.postDelayed(runnable, 50);
|
handler.postDelayed(runnable, 50);
|
||||||
});
|
});
|
||||||
|
@ -292,6 +317,7 @@ class messageManager
|
||||||
helperMethod.hideKeyboard(activityContextManager.getInstance().getHomeController());
|
helperMethod.hideKeyboard(activityContextManager.getInstance().getHomeController());
|
||||||
dialog.dismiss();
|
dialog.dismiss();
|
||||||
mContext.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
|
mContext.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
|
||||||
|
onClearReference();
|
||||||
};
|
};
|
||||||
handler.postDelayed(runnable, 50);
|
handler.postDelayed(runnable, 50);
|
||||||
});
|
});
|
||||||
|
@ -324,6 +350,7 @@ class messageManager
|
||||||
mDialog.dismiss();
|
mDialog.dismiss();
|
||||||
mEvent.invokeObserver(null, M_CLEAR_HISTORY);
|
mEvent.invokeObserver(null, M_CLEAR_HISTORY);
|
||||||
});
|
});
|
||||||
|
mDialog.setOnDismissListener(dialog -> onClearReference());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void clearBookmark()
|
private void clearBookmark()
|
||||||
|
@ -334,6 +361,7 @@ class messageManager
|
||||||
mDialog.dismiss();
|
mDialog.dismiss();
|
||||||
mEvent.invokeObserver(null, M_CLEAR_BOOKMARK);
|
mEvent.invokeObserver(null, M_CLEAR_BOOKMARK);
|
||||||
});
|
});
|
||||||
|
mDialog.setOnDismissListener(dialog -> onClearReference());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void reportURL()
|
private void reportURL()
|
||||||
|
@ -347,6 +375,7 @@ class messageManager
|
||||||
Runnable runnable = () -> onTrigger(Arrays.asList(strings.GENERIC_EMPTY_STR, mContext),M_RATE_SUCCESS);
|
Runnable runnable = () -> onTrigger(Arrays.asList(strings.GENERIC_EMPTY_STR, mContext),M_RATE_SUCCESS);
|
||||||
handler.postDelayed(runnable, 1000);
|
handler.postDelayed(runnable, 1000);
|
||||||
});
|
});
|
||||||
|
mDialog.setOnDismissListener(dialog -> onClearReference());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void downloadSingle()
|
private void downloadSingle()
|
||||||
|
@ -362,6 +391,7 @@ class messageManager
|
||||||
};
|
};
|
||||||
handler.postDelayed(runnable, 1000);
|
handler.postDelayed(runnable, 1000);
|
||||||
});
|
});
|
||||||
|
mDialog.setOnDismissListener(dialog -> onClearReference());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void rateApp()
|
private void rateApp()
|
||||||
|
@ -387,6 +417,7 @@ class messageManager
|
||||||
mDialog.dismiss();
|
mDialog.dismiss();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
mDialog.setOnDismissListener(dialog -> onClearReference());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void downloadFileLongPress()
|
private void downloadFileLongPress()
|
||||||
|
@ -416,6 +447,7 @@ class messageManager
|
||||||
mEvent.invokeObserver(Collections.singletonList(mData.get(0)), M_COPY_LINK);
|
mEvent.invokeObserver(Collections.singletonList(mData.get(0)), M_COPY_LINK);
|
||||||
mDialog.dismiss();
|
mDialog.dismiss();
|
||||||
});
|
});
|
||||||
|
mDialog.setOnDismissListener(dialog -> onClearReference());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void openURLLongPress()
|
private void openURLLongPress()
|
||||||
|
@ -437,6 +469,7 @@ class messageManager
|
||||||
mEvent.invokeObserver(Collections.singletonList(mData.get(0)), M_COPY_LINK);
|
mEvent.invokeObserver(Collections.singletonList(mData.get(0)), M_COPY_LINK);
|
||||||
mDialog.dismiss();
|
mDialog.dismiss();
|
||||||
});
|
});
|
||||||
|
mDialog.setOnDismissListener(dialog -> onClearReference());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void popupDownloadFull(){
|
private void popupDownloadFull(){
|
||||||
|
@ -488,6 +521,7 @@ class messageManager
|
||||||
mEvent.invokeObserver(Collections.singletonList(file), M_DOWNLOAD_FILE_MANUAL);
|
mEvent.invokeObserver(Collections.singletonList(file), M_DOWNLOAD_FILE_MANUAL);
|
||||||
mDialog.dismiss();
|
mDialog.dismiss();
|
||||||
});
|
});
|
||||||
|
mDialog.setOnDismissListener(dialog -> onClearReference());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sendBridgeMail()
|
private void sendBridgeMail()
|
||||||
|
@ -507,6 +541,7 @@ class messageManager
|
||||||
};
|
};
|
||||||
handler.postDelayed(runnable, 1000);
|
handler.postDelayed(runnable, 1000);
|
||||||
});
|
});
|
||||||
|
mDialog.setOnDismissListener(dialog -> onClearReference());
|
||||||
}
|
}
|
||||||
|
|
||||||
void onReset(){
|
void onReset(){
|
||||||
|
@ -519,6 +554,7 @@ class messageManager
|
||||||
|
|
||||||
void onTrigger(List<Object> pData, pluginEnums.eMessageManager pEventType)
|
void onTrigger(List<Object> pData, pluginEnums.eMessageManager pEventType)
|
||||||
{
|
{
|
||||||
|
onClearReference();
|
||||||
if(pEventType.equals(pluginEnums.eMessageManager.M_RESET)){
|
if(pEventType.equals(pluginEnums.eMessageManager.M_RESET)){
|
||||||
onReset();
|
onReset();
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,8 @@ import com.darkweb.genesissearchengine.constants.status;
|
||||||
import com.darkweb.genesissearchengine.helperManager.eventObserver;
|
import com.darkweb.genesissearchengine.helperManager.eventObserver;
|
||||||
import com.darkweb.genesissearchengine.helperManager.userEngagementNotification;
|
import com.darkweb.genesissearchengine.helperManager.userEngagementNotification;
|
||||||
import com.example.myapplication.R;
|
import com.example.myapplication.R;
|
||||||
|
|
||||||
|
import java.lang.ref.WeakReference;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import static com.darkweb.genesissearchengine.constants.constants.*;
|
import static com.darkweb.genesissearchengine.constants.constants.*;
|
||||||
|
|
||||||
|
@ -20,17 +22,17 @@ class notifictionManager
|
||||||
{
|
{
|
||||||
/*Private Variables*/
|
/*Private Variables*/
|
||||||
|
|
||||||
private AppCompatActivity mAppContext;
|
private WeakReference<AppCompatActivity> mAppContext;
|
||||||
|
|
||||||
/*Initializations*/
|
/*Initializations*/
|
||||||
|
|
||||||
notifictionManager(AppCompatActivity pAppContext, eventObserver.eventListener pEvent){
|
notifictionManager(WeakReference<AppCompatActivity> pAppContext, eventObserver.eventListener pEvent){
|
||||||
this.mAppContext = pAppContext;
|
this.mAppContext = pAppContext;
|
||||||
onNotificationClear();
|
onNotificationClear();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onNotificationClear(){
|
private void onNotificationClear(){
|
||||||
NotificationManager notificationManager = (NotificationManager) mAppContext.getSystemService(Context.NOTIFICATION_SERVICE);
|
NotificationManager notificationManager = (NotificationManager) mAppContext.get().getSystemService(Context.NOTIFICATION_SERVICE);
|
||||||
notificationManager.cancel(status.mNotificationID);
|
notificationManager.cancel(status.mNotificationID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,18 +41,18 @@ class notifictionManager
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onSchedule(Notification pNotification , int pDelay){
|
private void onSchedule(Notification pNotification , int pDelay){
|
||||||
Intent notificationIntent = new Intent( mAppContext, userEngagementNotification.class) ;
|
Intent notificationIntent = new Intent( mAppContext.get().getApplicationContext(), userEngagementNotification.class) ;
|
||||||
notificationIntent.putExtra(CONST_NOTIFICATION_ID_NAME, CONST_NOTIFICATION_ID_VALUE) ;
|
notificationIntent.putExtra(CONST_NOTIFICATION_ID_NAME, CONST_NOTIFICATION_ID_VALUE) ;
|
||||||
notificationIntent.putExtra(CONST_NOTIFICATION_ID_NAME, pNotification) ;
|
notificationIntent.putExtra(CONST_NOTIFICATION_ID_NAME, pNotification) ;
|
||||||
PendingIntent pendingIntent = PendingIntent. getBroadcast ( mAppContext, CONST_NOTIFICATION_REQUEST_CODE, notificationIntent , PendingIntent. FLAG_UPDATE_CURRENT ) ;
|
PendingIntent pendingIntent = PendingIntent. getBroadcast ( mAppContext.get().getApplicationContext(), CONST_NOTIFICATION_REQUEST_CODE, notificationIntent , PendingIntent. FLAG_UPDATE_CURRENT ) ;
|
||||||
long futureInMillis = SystemClock. elapsedRealtime () + pDelay ;
|
long futureInMillis = SystemClock. elapsedRealtime () + pDelay ;
|
||||||
AlarmManager alarmManager = (AlarmManager) mAppContext.getSystemService(Context. ALARM_SERVICE ) ;
|
AlarmManager alarmManager = (AlarmManager) mAppContext.get().getSystemService(Context. ALARM_SERVICE ) ;
|
||||||
assert alarmManager != null;
|
assert alarmManager != null;
|
||||||
alarmManager.set(AlarmManager. ELAPSED_REALTIME_WAKEUP , futureInMillis , pendingIntent) ;
|
alarmManager.set(AlarmManager. ELAPSED_REALTIME_WAKEUP , futureInMillis , pendingIntent) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Notification getNotification () {
|
private Notification getNotification () {
|
||||||
NotificationCompat.Builder builder = new NotificationCompat.Builder(mAppContext, CONST_NOTIFICATION_ID_NAME) ;
|
NotificationCompat.Builder builder = new NotificationCompat.Builder(mAppContext.get().getApplicationContext(), CONST_NOTIFICATION_ID_NAME) ;
|
||||||
builder.setContentTitle(CONST_NOTIFICATION_TITLE) ;
|
builder.setContentTitle(CONST_NOTIFICATION_TITLE) ;
|
||||||
builder.setSmallIcon(R.drawable.notification_logo);
|
builder.setSmallIcon(R.drawable.notification_logo);
|
||||||
builder.setAutoCancel(true) ;
|
builder.setAutoCancel(true) ;
|
||||||
|
|
|
@ -8,6 +8,8 @@ import org.mozilla.gecko.PrefsHelper;
|
||||||
import org.torproject.android.service.OrbotService;
|
import org.torproject.android.service.OrbotService;
|
||||||
import org.torproject.android.service.util.Prefs;
|
import org.torproject.android.service.util.Prefs;
|
||||||
import org.torproject.android.service.wrapper.orbotLocalConstants;
|
import org.torproject.android.service.wrapper.orbotLocalConstants;
|
||||||
|
|
||||||
|
import java.lang.ref.WeakReference;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.darkweb.genesissearchengine.constants.*;
|
import com.darkweb.genesissearchengine.constants.*;
|
||||||
import com.darkweb.genesissearchengine.helperManager.eventObserver;
|
import com.darkweb.genesissearchengine.helperManager.eventObserver;
|
||||||
|
@ -19,7 +21,7 @@ class orbotManager
|
||||||
|
|
||||||
/*Private Variables*/
|
/*Private Variables*/
|
||||||
|
|
||||||
private Context mAppContext;
|
private WeakReference<Context> mAppContext;
|
||||||
private boolean mLogsStarted = false;
|
private boolean mLogsStarted = false;
|
||||||
|
|
||||||
/*Initialization*/
|
/*Initialization*/
|
||||||
|
@ -31,24 +33,28 @@ class orbotManager
|
||||||
}
|
}
|
||||||
|
|
||||||
public void initialize(AppCompatActivity pAppContext, eventObserver.eventListener pEvent, int pNotificationStatus){
|
public void initialize(AppCompatActivity pAppContext, eventObserver.eventListener pEvent, int pNotificationStatus){
|
||||||
this.mAppContext = pAppContext;
|
this.mAppContext = new WeakReference(pAppContext);
|
||||||
|
|
||||||
onInitNotificationStatus(pNotificationStatus);
|
onInitNotificationStatus(pNotificationStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void onRemoveInstances(){
|
||||||
|
this.mAppContext = null;
|
||||||
|
}
|
||||||
|
|
||||||
private void onStartOrbot(){
|
private void onStartOrbot(){
|
||||||
orbotLocalConstants.mBridges = status.sBridgeCustomBridge;
|
orbotLocalConstants.mBridges = status.sBridgeCustomBridge;
|
||||||
orbotLocalConstants.mIsManualBridge = status.sBridgeGatewayManual;
|
orbotLocalConstants.mIsManualBridge = status.sBridgeGatewayManual;
|
||||||
orbotLocalConstants.mManualBridgeType = status.sBridgeCustomType;
|
orbotLocalConstants.mManualBridgeType = status.sBridgeCustomType;
|
||||||
Prefs.putBridgesEnabled(status.sBridgeStatus);
|
Prefs.putBridgesEnabled(status.sBridgeStatus);
|
||||||
Intent mServiceIntent = new Intent(mAppContext.getApplicationContext(), OrbotService.class);
|
Intent mServiceIntent = new Intent(mAppContext.get().getApplicationContext(), OrbotService.class);
|
||||||
mServiceIntent.setAction(ACTION_START);
|
mServiceIntent.setAction(ACTION_START);
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
mAppContext.startForegroundService(mServiceIntent);
|
mAppContext.get().getApplicationContext().startForegroundService(mServiceIntent);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mAppContext.startService(mServiceIntent);
|
mAppContext.get().getApplicationContext().startService(mServiceIntent);
|
||||||
}
|
}
|
||||||
|
|
||||||
initializeProxy();
|
initializeProxy();
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
package com.darkweb.genesissearchengine.pluginManager;
|
package com.darkweb.genesissearchengine.pluginManager;
|
||||||
|
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import com.darkweb.genesissearchengine.appManager.activityContextManager;
|
import com.darkweb.genesissearchengine.appManager.activityContextManager;
|
||||||
import com.darkweb.genesissearchengine.appManager.homeManager.homeController.homeController;
|
import com.darkweb.genesissearchengine.appManager.homeManager.homeController.homeController;
|
||||||
|
@ -14,6 +12,7 @@ import com.darkweb.genesissearchengine.dataManager.dataController;
|
||||||
import com.darkweb.genesissearchengine.dataManager.dataEnums;
|
import com.darkweb.genesissearchengine.dataManager.dataEnums;
|
||||||
import com.darkweb.genesissearchengine.helperManager.eventObserver;
|
import com.darkweb.genesissearchengine.helperManager.eventObserver;
|
||||||
import com.darkweb.genesissearchengine.helperManager.helperMethod;
|
import com.darkweb.genesissearchengine.helperManager.helperMethod;
|
||||||
|
import java.lang.ref.WeakReference;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -38,7 +37,7 @@ public class pluginController
|
||||||
/*Private Variables*/
|
/*Private Variables*/
|
||||||
|
|
||||||
private static pluginController ourInstance = new pluginController();
|
private static pluginController ourInstance = new pluginController();
|
||||||
private homeController mHomeController;
|
private WeakReference<AppCompatActivity> mHomeController;
|
||||||
private boolean mIsInitialized = false;
|
private boolean mIsInitialized = false;
|
||||||
|
|
||||||
/*Initializations*/
|
/*Initializations*/
|
||||||
|
@ -57,13 +56,18 @@ public class pluginController
|
||||||
mIsInitialized = true;
|
mIsInitialized = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void onRemoveInstances(){
|
||||||
|
mHomeController = null;
|
||||||
|
mOrbotManager.onRemoveInstances();
|
||||||
|
}
|
||||||
|
|
||||||
private void instanceObjectInitialization()
|
private void instanceObjectInitialization()
|
||||||
{
|
{
|
||||||
mHomeController = activityContextManager.getInstance().getHomeController();
|
mHomeController = new WeakReference(activityContextManager.getInstance().getHomeController());
|
||||||
mContextManager = activityContextManager.getInstance();
|
mContextManager = activityContextManager.getInstance();
|
||||||
|
|
||||||
mNotificationManager = new notifictionManager(mHomeController,new notificationCallback());
|
mNotificationManager = new notifictionManager(mHomeController,new notificationCallback());
|
||||||
mAdManager = new adManager(mHomeController,new admobCallback(), mHomeController.getBannerAd());
|
mAdManager = new adManager(new admobCallback(), ((homeController)mHomeController.get()).getBannerAd());
|
||||||
mAnalyticsManager = new com.darkweb.genesissearchengine.pluginManager.analyticManager(mHomeController,new analyticManager());
|
mAnalyticsManager = new com.darkweb.genesissearchengine.pluginManager.analyticManager(mHomeController,new analyticManager());
|
||||||
mMessageManager = new messageManager(new messageCallback());
|
mMessageManager = new messageManager(new messageCallback());
|
||||||
mOrbotManager = orbotManager.getInstance();
|
mOrbotManager = orbotManager.getInstance();
|
||||||
|
@ -89,7 +93,7 @@ public class pluginController
|
||||||
public Object invokeObserver(List<Object> data, Object event_type)
|
public Object invokeObserver(List<Object> data, Object event_type)
|
||||||
{
|
{
|
||||||
if(event_type.equals(M_SHOW_LOADED_ADS))
|
if(event_type.equals(M_SHOW_LOADED_ADS))
|
||||||
mHomeController.onSetBannerAdMargin();
|
((homeController)mHomeController.get()).onSetBannerAdMargin();
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -165,6 +169,9 @@ public class pluginController
|
||||||
|
|
||||||
/*Lang Manager*/
|
/*Lang Manager*/
|
||||||
public Object onLanguageInvoke(List<Object> pData, pluginEnums.eLangManager pEventType){
|
public Object onLanguageInvoke(List<Object> pData, pluginEnums.eLangManager pEventType){
|
||||||
|
if(mLangManager==null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return mLangManager.onTrigger(pData, pEventType);
|
return mLangManager.onTrigger(pData, pEventType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -178,7 +185,9 @@ public class pluginController
|
||||||
|
|
||||||
/*Message Manager*/
|
/*Message Manager*/
|
||||||
public void onMessageManagerInvoke(List<Object> pData, pluginEnums.eMessageManager pEventType){
|
public void onMessageManagerInvoke(List<Object> pData, pluginEnums.eMessageManager pEventType){
|
||||||
mMessageManager.onTrigger(pData,pEventType);
|
if(mMessageManager!=null){
|
||||||
|
mMessageManager.onTrigger(pData,pEventType);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class messageCallback implements eventObserver.eventListener{
|
private class messageCallback implements eventObserver.eventListener{
|
||||||
|
@ -187,13 +196,13 @@ public class pluginController
|
||||||
{
|
{
|
||||||
if(pEventType.equals(enums.etype.welcome))
|
if(pEventType.equals(enums.etype.welcome))
|
||||||
{
|
{
|
||||||
mHomeController.onLoadURL(pData.get(0).toString());
|
((homeController)mHomeController.get()).onLoadURL(pData.get(0).toString());
|
||||||
}
|
}
|
||||||
else if(pEventType.equals(M_DOWNLOAD_SINGLE)){
|
else if(pEventType.equals(M_DOWNLOAD_SINGLE)){
|
||||||
activityContextManager.getInstance().getHomeController().onManualDownloadFileName((String)pData.get(2),(String)pData.get(0));
|
activityContextManager.getInstance().getHomeController().onManualDownloadFileName((String)pData.get(2),(String)pData.get(0));
|
||||||
}
|
}
|
||||||
else if(pEventType.equals(M_SECURE_CONNECTION)){
|
else if(pEventType.equals(M_SECURE_CONNECTION)){
|
||||||
helperMethod.openActivity(settingPrivacyController.class, constants.CONST_LIST_HISTORY, mHomeController,true);
|
helperMethod.openActivity(settingPrivacyController.class, constants.CONST_LIST_HISTORY, mHomeController.get(),true);
|
||||||
}
|
}
|
||||||
else if(pEventType.equals(M_CANCEL_WELCOME)){
|
else if(pEventType.equals(M_CANCEL_WELCOME)){
|
||||||
status.sSettingIsWelcomeEnabled = false;
|
status.sSettingIsWelcomeEnabled = false;
|
||||||
|
@ -202,14 +211,14 @@ public class pluginController
|
||||||
else if(pEventType.equals(enums.etype.reload)){
|
else if(pEventType.equals(enums.etype.reload)){
|
||||||
if((Boolean) mOrbotManager.onTrigger(null, pluginEnums.eOrbotManager.M_IS_ORBOT_RUNNING))
|
if((Boolean) mOrbotManager.onTrigger(null, pluginEnums.eOrbotManager.M_IS_ORBOT_RUNNING))
|
||||||
{
|
{
|
||||||
mHomeController.onReload(null);
|
((homeController)mHomeController.get()).onReload(null);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
mMessageManager.onTrigger(Arrays.asList(mHomeController, Collections.singletonList(pData.get(0).toString())),M_START_ORBOT);
|
mMessageManager.onTrigger(Arrays.asList(mHomeController, Collections.singletonList(pData.get(0).toString())),M_START_ORBOT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(pEventType.equals(M_OPEN_PRIVACY)){
|
else if(pEventType.equals(M_OPEN_PRIVACY)){
|
||||||
helperMethod.openActivity(settingPrivacyController.class, constants.CONST_LIST_HISTORY, mHomeController,true);
|
helperMethod.openActivity(settingPrivacyController.class, constants.CONST_LIST_HISTORY, mHomeController.get(),true);
|
||||||
}
|
}
|
||||||
else if(pEventType.equals(M_CLEAR_BOOKMARK)){
|
else if(pEventType.equals(M_CLEAR_BOOKMARK)){
|
||||||
dataController.getInstance().invokeBookmark(dataEnums.eBookmarkCommands.M_CLEAR_BOOKMARK ,pData);
|
dataController.getInstance().invokeBookmark(dataEnums.eBookmarkCommands.M_CLEAR_BOOKMARK ,pData);
|
||||||
|
@ -227,24 +236,24 @@ public class pluginController
|
||||||
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.PROXY_IS_APP_RATED,true));
|
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.PROXY_IS_APP_RATED,true));
|
||||||
}
|
}
|
||||||
else if(pEventType.equals(M_DOWNLOAD_FILE)){
|
else if(pEventType.equals(M_DOWNLOAD_FILE)){
|
||||||
mHomeController.onDownloadFile();
|
((homeController)mHomeController.get()).onDownloadFile();
|
||||||
}
|
}
|
||||||
else if(pEventType.equals(M_DOWNLOAD_FILE_MANUAL)){
|
else if(pEventType.equals(M_DOWNLOAD_FILE_MANUAL)){
|
||||||
mHomeController.onManualDownload(pData.get(0).toString());
|
((homeController)mHomeController.get()).onManualDownload(pData.get(0).toString());
|
||||||
}
|
}
|
||||||
else if(pEventType.equals(M_OPEN_LINK_NEW_TAB)){
|
else if(pEventType.equals(M_OPEN_LINK_NEW_TAB)){
|
||||||
mHomeController.postNewLinkTabAnimationInBackgroundTrigger(pData.get(0).toString());
|
((homeController)mHomeController.get()).postNewLinkTabAnimationInBackgroundTrigger(pData.get(0).toString());
|
||||||
}
|
}
|
||||||
else if(pEventType.equals(M_OPEN_LINK_CURRENT_TAB)){
|
else if(pEventType.equals(M_OPEN_LINK_CURRENT_TAB)){
|
||||||
mHomeController.onLoadURL(pData.get(0).toString());
|
((homeController)mHomeController.get()).onLoadURL(pData.get(0).toString());
|
||||||
}
|
}
|
||||||
else if(pEventType.equals(M_COPY_LINK)){
|
else if(pEventType.equals(M_COPY_LINK)){
|
||||||
helperMethod.copyURL(pData.get(0).toString(),mContextManager.getHomeController());
|
helperMethod.copyURL(pData.get(0).toString(),mContextManager.getHomeController());
|
||||||
}
|
}
|
||||||
else if(pEventType.equals(M_CLEAR_TAB)){
|
else if(pEventType.equals(M_CLEAR_TAB)){
|
||||||
dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_CLEAR_TAB, null);
|
dataController.getInstance().invokeTab(dataEnums.eTabCommands.M_CLEAR_TAB, null);
|
||||||
mHomeController.initTab(true);
|
((homeController)mHomeController.get()).initTab(true);
|
||||||
mHomeController.onDisableTabViewController();
|
((homeController)mHomeController.get()).onDisableTabViewController();
|
||||||
}
|
}
|
||||||
else if(pEventType.equals(M_REQUEST_BRIDGES)){
|
else if(pEventType.equals(M_REQUEST_BRIDGES)){
|
||||||
pluginController.getInstance().onMessageManagerInvoke(Arrays.asList(constants.CONST_BACKEND_GOOGLE_URL, this), M_BRIDGE_MAIL);
|
pluginController.getInstance().onMessageManagerInvoke(Arrays.asList(constants.CONST_BACKEND_GOOGLE_URL, this), M_BRIDGE_MAIL);
|
||||||
|
|
|
@ -19,7 +19,7 @@ public class pluginEnums
|
||||||
|
|
||||||
/*Lanuage Manager*/
|
/*Lanuage Manager*/
|
||||||
public enum eLangManager{
|
public enum eLangManager{
|
||||||
M_SET_LANGUAGE, M_ACTIVITY_CREATED, M_RESUME, M_SUPPORTED_SYSTEM_LANGUAGE_INFO
|
M_SET_LANGUAGE, M_ACTIVITY_CREATED, M_RESUME, M_SUPPORTED_SYSTEM_LANGUAGE_INFO, M_INIT_LOCALE
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum eLangManagerCallbacks{
|
public enum eLangManagerCallbacks{
|
||||||
|
|
|
@ -28,29 +28,16 @@
|
||||||
</item>
|
</item>
|
||||||
|
|
||||||
<item android:state_pressed="true">
|
<item android:state_pressed="true">
|
||||||
<shape
|
|
||||||
android:shape="rectangle" android:padding="15dp" >
|
|
||||||
<!-- you can use any color you want I used here gray color-->
|
|
||||||
<solid android:color="@color/c_background"/>
|
|
||||||
<corners android:radius="4dp"/>
|
|
||||||
<stroke
|
|
||||||
android:width="2.5dp"
|
|
||||||
android:color="@color/c_text_v5" />
|
|
||||||
<corners android:radius="4dp" />
|
|
||||||
</shape>
|
|
||||||
</item>
|
|
||||||
|
|
||||||
<!--<item android:state_pressed="true">
|
|
||||||
<shape
|
<shape
|
||||||
android:shape="rectangle" android:padding="15dp" >
|
android:shape="rectangle" android:padding="15dp" >
|
||||||
<solid android:color="@color/c_background" />
|
<solid android:color="@color/c_background" />
|
||||||
<corners android:radius="4dp"/>
|
<corners android:radius="4dp"/>
|
||||||
<stroke
|
<stroke
|
||||||
android:width="2dp"
|
android:width="2.5dp"
|
||||||
android:color="@color/c_tab_border" />
|
android:color="@color/c_tab_border" />
|
||||||
<corners android:radius="4dp" />
|
<corners android:radius="4dp" />
|
||||||
</shape>
|
</shape>
|
||||||
</item>-->
|
</item>
|
||||||
</selector>
|
</selector>
|
||||||
</inset>
|
</inset>
|
||||||
</item>
|
</item>
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 196 KiB |
Binary file not shown.
Before Width: | Height: | Size: 16 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1.8 MiB |
Binary file not shown.
Before Width: | Height: | Size: 231 KiB |
Binary file not shown.
Before Width: | Height: | Size: 864 KiB |
|
@ -42,6 +42,7 @@
|
||||||
android:text="Deuche (de)"
|
android:text="Deuche (de)"
|
||||||
android:textDirection="locale"
|
android:textDirection="locale"
|
||||||
android:textAlignment="viewStart"
|
android:textAlignment="viewStart"
|
||||||
|
android:textColor="@color/c_text_v6"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/pHeader" />
|
app:layout_constraintTop_toBottomOf="@+id/pHeader" />
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent">f
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:id="@+id/pAppbar"
|
android:id="@+id/pAppbar"
|
||||||
|
@ -258,6 +258,23 @@
|
||||||
app:wrapShiftDrawable="true"
|
app:wrapShiftDrawable="true"
|
||||||
tools:progress="0" />
|
tools:progress="0" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/pNewTabBlocker"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:alpha="0"
|
||||||
|
android:background="@color/c_background"
|
||||||
|
android:contentDescription="@string/GENERAL_TODO"
|
||||||
|
android:focusable="false"
|
||||||
|
android:translationZ="15dp"
|
||||||
|
android:visibility="gone"
|
||||||
|
android:elevation="100dp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:ignore="MissingConstraints" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
</androidx.core.widget.NestedScrollView>
|
</androidx.core.widget.NestedScrollView>
|
||||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||||
|
|
|
@ -147,41 +147,56 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layoutDirection="ltr"
|
android:layoutDirection="ltr"
|
||||||
|
android:paddingTop="9dp"
|
||||||
android:paddingBottom="13dp"
|
android:paddingBottom="13dp"
|
||||||
android:layout_marginEnd="0dp"
|
android:layout_marginEnd="0dp"
|
||||||
android:layout_marginStart="5dp"
|
android:layout_marginStart="5dp"
|
||||||
android:background="@xml/gx_ripple_gray"
|
android:background="@xml/gx_ripple_gray"
|
||||||
android:onClick="onTracking"
|
android:onClick="onTracking"
|
||||||
android:orientation="vertical">
|
android:orientation="horizontal">
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="20dp"
|
||||||
|
android:layoutDirection="ltr"
|
||||||
|
android:layout_marginTop="-2dp"
|
||||||
|
android:textColor="@color/c_text_v1"
|
||||||
|
android:textSize="15sp"
|
||||||
|
android:text="@string/SETTING_PRIVACY_TRACKING_OPTION1"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="20dp"
|
||||||
|
android:layoutDirection="ltr"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:textColor="@color/c_text_v6"
|
||||||
|
android:textSize="13sp"
|
||||||
|
android:text="@string/SETTING_PRIVACY_TRACKING_OPTION1_INFO"
|
||||||
|
/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
<RadioButton
|
<RadioButton
|
||||||
android:id="@+id/pTrackingRadioOption1"
|
android:id="@+id/pTrackingRadioOption1"
|
||||||
android:layoutDirection="rtl"
|
android:layoutDirection="rtl"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="wrap_content"
|
||||||
android:layout_marginTop="8dp"
|
|
||||||
android:clickable="false"
|
android:clickable="false"
|
||||||
android:background="@android:color/transparent"
|
android:background="@android:color/transparent"
|
||||||
android:buttonTint="@color/c_radio_tint"
|
android:buttonTint="@color/c_radio_tint"
|
||||||
android:textColor="@color/c_text_v1"
|
android:layout_marginTop="10dp"
|
||||||
android:layout_marginEnd="10dp"
|
android:layout_marginEnd="10dp"
|
||||||
android:layout_marginStart="15dp"
|
android:layout_marginStart="15dp"
|
||||||
android:paddingStart="10dp"
|
android:paddingStart="10dp"
|
||||||
android:paddingEnd="10dp"
|
android:paddingEnd="10dp"
|
||||||
android:textSize="15sp"
|
|
||||||
android:text="@string/SETTING_PRIVACY_TRACKING_OPTION1"
|
|
||||||
tools:ignore="RtlHardcoded"
|
tools:ignore="RtlHardcoded"
|
||||||
android:layout_height="wrap_content" />
|
android:layout_height="wrap_content" />
|
||||||
<TextView
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="20dp"
|
|
||||||
android:layoutDirection="ltr"
|
|
||||||
android:layout_marginEnd="42dp"
|
|
||||||
android:layout_marginTop="-2dp"
|
|
||||||
android:paddingEnd="17dp"
|
|
||||||
android:textColor="@color/c_text_v6"
|
|
||||||
android:textSize="13sp"
|
|
||||||
android:text="@string/SETTING_PRIVACY_TRACKING_OPTION1_INFO"
|
|
||||||
/>
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<View
|
<View
|
||||||
|
@ -195,40 +210,56 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layoutDirection="ltr"
|
android:layoutDirection="ltr"
|
||||||
|
android:paddingTop="9dp"
|
||||||
android:paddingBottom="13dp"
|
android:paddingBottom="13dp"
|
||||||
android:layout_marginEnd="0dp"
|
android:layout_marginEnd="0dp"
|
||||||
android:layout_marginStart="5dp"
|
android:layout_marginStart="5dp"
|
||||||
android:background="@xml/gx_ripple_gray"
|
android:background="@xml/gx_ripple_gray"
|
||||||
android:onClick="onTracking"
|
android:onClick="onTracking"
|
||||||
android:orientation="vertical">
|
android:orientation="horizontal">
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="20dp"
|
||||||
|
android:layoutDirection="ltr"
|
||||||
|
android:layout_marginTop="-2dp"
|
||||||
|
android:textColor="@color/c_text_v1"
|
||||||
|
android:textSize="15sp"
|
||||||
|
android:text="@string/SETTING_PRIVACY_TRACKING_OPTION2"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="20dp"
|
||||||
|
android:layoutDirection="ltr"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:textColor="@color/c_text_v6"
|
||||||
|
android:textSize="13sp"
|
||||||
|
android:text="@string/SETTING_PRIVACY_TRACKING_OPTION2_INFO"
|
||||||
|
/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
<RadioButton
|
<RadioButton
|
||||||
android:id="@+id/pTrackingRadioOption2"
|
android:id="@+id/pTrackingRadioOption2"
|
||||||
android:layoutDirection="rtl"
|
android:layoutDirection="rtl"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="wrap_content"
|
||||||
android:layout_marginTop="8dp"
|
|
||||||
android:clickable="false"
|
android:clickable="false"
|
||||||
android:background="@android:color/transparent"
|
android:background="@android:color/transparent"
|
||||||
android:buttonTint="@color/c_radio_tint"
|
android:buttonTint="@color/c_radio_tint"
|
||||||
android:textColor="@color/c_text_v1"
|
android:layout_marginTop="10dp"
|
||||||
android:layout_marginStart="15dp"
|
|
||||||
android:layout_marginEnd="10dp"
|
android:layout_marginEnd="10dp"
|
||||||
|
android:layout_marginStart="15dp"
|
||||||
android:paddingStart="10dp"
|
android:paddingStart="10dp"
|
||||||
android:paddingEnd="10dp"
|
android:paddingEnd="10dp"
|
||||||
android:textSize="15sp"
|
|
||||||
android:text="@string/SETTING_PRIVACY_TRACKING_OPTION2"
|
|
||||||
tools:ignore="RtlHardcoded"
|
tools:ignore="RtlHardcoded"
|
||||||
android:layout_height="wrap_content" />
|
android:layout_height="wrap_content" />
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="20dp"
|
|
||||||
android:layout_marginEnd="42dp"
|
|
||||||
android:layout_marginTop="-2dp"
|
|
||||||
android:textColor="@color/c_text_v6"
|
|
||||||
android:paddingEnd="16dp"
|
|
||||||
android:textSize="13sp"
|
|
||||||
android:text="@string/SETTING_PRIVACY_TRACKING_OPTION2_INFO"
|
|
||||||
/>
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<View
|
<View
|
||||||
|
@ -239,43 +270,59 @@
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/pTrackingOption3"
|
android:id="@+id/pTrackingOption3"
|
||||||
android:layoutDirection="ltr"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layoutDirection="ltr"
|
||||||
|
android:paddingTop="9dp"
|
||||||
android:paddingBottom="13dp"
|
android:paddingBottom="13dp"
|
||||||
android:layout_marginEnd="0dp"
|
android:layout_marginEnd="0dp"
|
||||||
android:layout_marginStart="5dp"
|
android:layout_marginStart="5dp"
|
||||||
android:background="@xml/gx_ripple_gray"
|
android:background="@xml/gx_ripple_gray"
|
||||||
android:onClick="onTracking"
|
android:onClick="onTracking"
|
||||||
android:orientation="vertical">
|
android:orientation="horizontal">
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="20dp"
|
||||||
|
android:layoutDirection="ltr"
|
||||||
|
android:layout_marginTop="-2dp"
|
||||||
|
android:textColor="@color/c_text_v1"
|
||||||
|
android:textSize="15sp"
|
||||||
|
android:text="@string/SETTING_PRIVACY_TRACKING_OPTION3"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="20dp"
|
||||||
|
android:layoutDirection="ltr"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:textColor="@color/c_text_v6"
|
||||||
|
android:textSize="13sp"
|
||||||
|
android:text="@string/SETTING_PRIVACY_TRACKING_OPTION3_INFO"
|
||||||
|
/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
<RadioButton
|
<RadioButton
|
||||||
android:id="@+id/pTrackingRadioOption3"
|
android:id="@+id/pTrackingRadioOption3"
|
||||||
android:layoutDirection="rtl"
|
android:layoutDirection="rtl"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="wrap_content"
|
||||||
android:layout_marginTop="8dp"
|
|
||||||
android:clickable="false"
|
android:clickable="false"
|
||||||
android:background="@android:color/transparent"
|
android:background="@android:color/transparent"
|
||||||
android:buttonTint="@color/c_radio_tint"
|
android:buttonTint="@color/c_radio_tint"
|
||||||
android:textColor="@color/c_text_v1"
|
android:layout_marginTop="10dp"
|
||||||
android:layout_marginEnd="10dp"
|
android:layout_marginEnd="10dp"
|
||||||
android:layout_marginStart="15dp"
|
android:layout_marginStart="15dp"
|
||||||
android:paddingStart="10dp"
|
android:paddingStart="10dp"
|
||||||
android:paddingEnd="10dp"
|
android:paddingEnd="10dp"
|
||||||
android:textSize="15sp"
|
|
||||||
android:text="@string/SETTING_PRIVACY_TRACKING_OPTION3"
|
|
||||||
tools:ignore="RtlHardcoded"
|
tools:ignore="RtlHardcoded"
|
||||||
android:layout_height="wrap_content" />
|
android:layout_height="wrap_content" />
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="20dp"
|
|
||||||
android:layout_marginEnd="42dp"
|
|
||||||
android:layout_marginTop="-2dp"
|
|
||||||
android:paddingEnd="16dp"
|
|
||||||
android:textSize="13sp"
|
|
||||||
android:textColor="@color/c_text_v6"
|
|
||||||
android:text="@string/SETTING_PRIVACY_TRACKING_OPTION3_INFO"
|
|
||||||
/>
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<View
|
<View
|
||||||
|
|
|
@ -7,6 +7,8 @@
|
||||||
android:layout_marginTop="-5dp"
|
android:layout_marginTop="-5dp"
|
||||||
android:layout_marginStart="0dp"
|
android:layout_marginStart="0dp"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
|
android:scaleX="1"
|
||||||
|
android:scaleY="1"
|
||||||
android:background="@color/clear_alpha"
|
android:background="@color/clear_alpha"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@color/c_background"
|
android:background="@color/c_background"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:elevation="8dp"
|
android:elevation="4dp"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
@ -26,7 +26,8 @@
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/pHeaderContainerTop"
|
android:id="@+id/pHeaderContainerTop"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="65dp"
|
android:paddingTop="5dp"
|
||||||
|
android:layout_height="60dp"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
|
@ -148,11 +149,11 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_gravity="fill_vertical"
|
android:layout_gravity="fill_vertical"
|
||||||
android:layout_marginTop="60dp"
|
android:layout_marginTop="60dp"
|
||||||
android:paddingEnd="5dp"
|
|
||||||
android:paddingStart="5dp"
|
|
||||||
android:paddingTop="10dp"
|
|
||||||
android:background="@color/c_background"
|
android:background="@color/c_background"
|
||||||
android:fillViewport="true"
|
android:fillViewport="true"
|
||||||
|
android:paddingStart="5dp"
|
||||||
|
android:paddingTop="0dp"
|
||||||
|
android:paddingEnd="5dp"
|
||||||
android:translationZ="2dp"
|
android:translationZ="2dp"
|
||||||
app:layout_behavior="@string/appbar_scrolling_view_behavior"
|
app:layout_behavior="@string/appbar_scrolling_view_behavior"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
@ -167,10 +168,10 @@
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:clipToPadding="false"
|
android:clipToPadding="false"
|
||||||
android:elevation="8dp"
|
android:elevation="8dp"
|
||||||
android:paddingTop="5dp"
|
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:onClick="onClearSelection"
|
android:onClick="onClearSelection"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
|
android:paddingTop="0dp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
@ -192,8 +193,10 @@
|
||||||
android:id="@+id/pRecycleView"
|
android:id="@+id/pRecycleView"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
android:alpha="0"
|
||||||
android:background="@color/c_background"
|
android:background="@color/c_background"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
|
android:paddingTop="10dp"
|
||||||
android:clipToPadding="false"
|
android:clipToPadding="false"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:onClick="onClearSelection"
|
android:onClick="onClearSelection"
|
||||||
|
|
|
@ -451,11 +451,15 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void logNotice(String msg) {
|
protected void logNotice(String msg) {
|
||||||
if (msg != null && msg.trim().length() > 0) {
|
try{
|
||||||
if (Prefs.useDebugLogging())
|
if (msg != null && msg.trim().length() > 0) {
|
||||||
Log.d(OrbotConstants.TAG, msg);
|
if (Prefs.useDebugLogging())
|
||||||
|
Log.d(OrbotConstants.TAG, msg);
|
||||||
|
|
||||||
|
sendCallbackLogMessage(msg);
|
||||||
|
}
|
||||||
|
}catch (Exception ignored){
|
||||||
|
|
||||||
sendCallbackLogMessage(msg);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue