You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
2.8 KiB
98 lines
2.8 KiB
package org.purplei2p.lightning; |
|
|
|
import android.content.Intent; |
|
import android.os.Build; |
|
import android.support.annotation.NonNull; |
|
import android.support.annotation.Nullable; |
|
import android.view.KeyEvent; |
|
import android.view.Menu; |
|
import android.webkit.CookieManager; |
|
import android.webkit.CookieSyncManager; |
|
|
|
import com.anthonycr.bonsai.Completable; |
|
import com.anthonycr.bonsai.CompletableAction; |
|
import com.anthonycr.bonsai.CompletableSubscriber; |
|
|
|
import org.purplei2p.lightning.browser.activity.BrowserActivity; |
|
|
|
@SuppressWarnings("deprecation") |
|
public class MainActivity extends BrowserActivity { |
|
|
|
@NonNull |
|
@Override |
|
public Completable updateCookiePreference() { |
|
return Completable.create(new CompletableAction() { |
|
@Override |
|
public void onSubscribe(@NonNull CompletableSubscriber subscriber) { |
|
CookieManager cookieManager = CookieManager.getInstance(); |
|
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { |
|
CookieSyncManager.createInstance(MainActivity.this); |
|
} |
|
cookieManager.setAcceptCookie(mPreferences.getCookiesEnabled()); |
|
subscriber.onComplete(); |
|
} |
|
}); |
|
} |
|
|
|
@Override |
|
public boolean onCreateOptionsMenu(@NonNull Menu menu) { |
|
getMenuInflater().inflate(R.menu.main, menu); |
|
return super.onCreateOptionsMenu(menu); |
|
} |
|
|
|
@Override |
|
protected void onNewIntent(Intent intent) { |
|
if (isPanicTrigger(intent)) { |
|
panicClean(); |
|
} else { |
|
handleNewIntent(intent); |
|
super.onNewIntent(intent); |
|
} |
|
} |
|
|
|
@Override |
|
protected void onPause() { |
|
super.onPause(); |
|
saveOpenTabs(); |
|
} |
|
|
|
@Override |
|
public void updateHistory(@Nullable String title, @NonNull String url) { |
|
addItemToHistory(title, url); |
|
} |
|
|
|
@Override |
|
public boolean isIncognito() { |
|
return false; |
|
} |
|
|
|
@Override |
|
public void closeActivity() { |
|
closeDrawers(new Runnable() { |
|
@Override |
|
public void run() { |
|
performExitCleanUp(); |
|
moveTaskToBack(true); |
|
} |
|
}); |
|
} |
|
|
|
@Override |
|
public boolean dispatchKeyEvent(KeyEvent event) { |
|
if (event.getAction() == KeyEvent.ACTION_DOWN && event.isCtrlPressed()) { |
|
switch (event.getKeyCode()) { |
|
case KeyEvent.KEYCODE_P: |
|
// Open a new private window |
|
if(event.isShiftPressed()) { |
|
startActivity(new Intent(this, IncognitoActivity.class)); |
|
overridePendingTransition(R.anim.slide_up_in, R.anim.fade_out_scale); |
|
return true; |
|
} |
|
break; |
|
} |
|
} |
|
return super.dispatchKeyEvent(event); |
|
} |
|
|
|
|
|
}
|
|
|