mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-08-22 20:33:10 +09:00
pt 1 in reviving the android build (copied from pm 28a1, wish me luck)
This commit is contained in:
parent
efa9662725
commit
d7788a6d6d
4249 changed files with 468189 additions and 0 deletions
100
mobile/android/base/java/org/mozilla/gecko/GeckoActivity.java
Normal file
100
mobile/android/base/java/org/mozilla/gecko/GeckoActivity.java
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
package org.mozilla.gecko;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Intent;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
|
||||
public abstract class GeckoActivity extends AppCompatActivity implements GeckoActivityStatus {
|
||||
// has this activity recently started another Gecko activity?
|
||||
private boolean mGeckoActivityOpened;
|
||||
|
||||
/**
|
||||
* Display any resources that show strings or encompass locale-specific
|
||||
* representations.
|
||||
*
|
||||
* onLocaleReady must always be called on the UI thread.
|
||||
*/
|
||||
public void onLocaleReady(final String locale) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
|
||||
if (getApplication() instanceof GeckoApplication) {
|
||||
((GeckoApplication) getApplication()).onActivityPause(this);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
|
||||
if (getApplication() instanceof GeckoApplication) {
|
||||
((GeckoApplication) getApplication()).onActivityResume(this);
|
||||
mGeckoActivityOpened = false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(android.os.Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
if (AppConstants.MOZ_ANDROID_ANR_REPORTER) {
|
||||
ANRReporter.register(getApplicationContext());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
if (AppConstants.MOZ_ANDROID_ANR_REPORTER) {
|
||||
ANRReporter.unregister();
|
||||
}
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void startActivity(Intent intent) {
|
||||
mGeckoActivityOpened = checkIfGeckoActivity(intent);
|
||||
super.startActivity(intent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void startActivityForResult(Intent intent, int request) {
|
||||
mGeckoActivityOpened = checkIfGeckoActivity(intent);
|
||||
super.startActivityForResult(intent, request);
|
||||
}
|
||||
|
||||
private static boolean checkIfGeckoActivity(Intent intent) {
|
||||
// Whenever we call our own activity, the component and its package name is set.
|
||||
// If we call an activity from another package, or an open intent (leaving android to resolve)
|
||||
// component has a different package name or it is null.
|
||||
ComponentName component = intent.getComponent();
|
||||
return (component != null &&
|
||||
AppConstants.ANDROID_PACKAGE_NAME.equals(component.getPackageName()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isGeckoActivityOpened() {
|
||||
return mGeckoActivityOpened;
|
||||
}
|
||||
|
||||
public boolean isApplicationInBackground() {
|
||||
return ((GeckoApplication) getApplication()).isApplicationInBackground();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLowMemory() {
|
||||
MemoryMonitor.getInstance().onLowMemory();
|
||||
super.onLowMemory();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTrimMemory(int level) {
|
||||
MemoryMonitor.getInstance().onTrimMemory(level);
|
||||
super.onTrimMemory(level);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue