mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Format Java code in xplat/js/react-native-github
Summary: This diff formats the Java class files inside xplat/js/react-native-github. Since google-java-format was enabled in D16071401 we want to codemode the existing code so that users don't have to deal with formatter lint noise at diff-time. ```arc f --paths-cmd 'hg files -I "**/*.java"'``` drop-conflicts Reviewed By: cpojer Differential Revision: D16071725 fbshipit-source-id: fc6e3852e45742c109f0c5ac4065d64201c74204
This commit is contained in:
committed by
Facebook Github Bot
parent
61e95e5cbf
commit
6c0f73b322
@@ -1,17 +1,11 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
* <p>This source code is licensed under the MIT license found in the LICENSE file in the root
|
||||
* directory of this source tree.
|
||||
*/
|
||||
|
||||
package com.facebook.react;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.CopyOnWriteArraySet;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Service;
|
||||
import android.content.BroadcastReceiver;
|
||||
@@ -19,23 +13,25 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.IBinder;
|
||||
import android.os.PowerManager;
|
||||
|
||||
import com.facebook.infer.annotation.Assertions;
|
||||
import com.facebook.react.bridge.ReactContext;
|
||||
import com.facebook.react.bridge.UiThreadUtil;
|
||||
import com.facebook.react.jstasks.HeadlessJsTaskEventListener;
|
||||
import com.facebook.react.jstasks.HeadlessJsTaskConfig;
|
||||
import com.facebook.react.jstasks.HeadlessJsTaskContext;
|
||||
import com.facebook.react.jstasks.HeadlessJsTaskEventListener;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.CopyOnWriteArraySet;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
/**
|
||||
* Base class for running JS without a UI. Generally, you only need to override
|
||||
* {@link #getTaskConfig}, which is called for every {@link #onStartCommand}. The
|
||||
* result, if not {@code null}, is used to run a JS task.
|
||||
* Base class for running JS without a UI. Generally, you only need to override {@link
|
||||
* #getTaskConfig}, which is called for every {@link #onStartCommand}. The result, if not {@code
|
||||
* null}, is used to run a JS task.
|
||||
*
|
||||
* If you need more fine-grained control over how tasks are run, you can override
|
||||
* {@link #onStartCommand} and call {@link #startTask} depending on your custom logic.
|
||||
* <p>If you need more fine-grained control over how tasks are run, you can override {@link
|
||||
* #onStartCommand} and call {@link #startTask} depending on your custom logic.
|
||||
*
|
||||
* If you're starting a {@code HeadlessJsTaskService} from a {@code BroadcastReceiver} (e.g.
|
||||
* <p>If you're starting a {@code HeadlessJsTaskService} from a {@code BroadcastReceiver} (e.g.
|
||||
* handling push notifications), make sure to call {@link #acquireWakeLockNow} before returning from
|
||||
* {@link BroadcastReceiver#onReceive}, to make sure the device doesn't go to sleep before the
|
||||
* service is started.
|
||||
@@ -57,9 +53,10 @@ public abstract class HeadlessJsTaskService extends Service implements HeadlessJ
|
||||
|
||||
/**
|
||||
* Called from {@link #onStartCommand} to create a {@link HeadlessJsTaskConfig} for this intent.
|
||||
*
|
||||
* @param intent the {@link Intent} received in {@link #onStartCommand}.
|
||||
* @return a {@link HeadlessJsTaskConfig} to be used with {@link #startTask}, or
|
||||
* {@code null} to ignore this command.
|
||||
* @return a {@link HeadlessJsTaskConfig} to be used with {@link #startTask}, or {@code null} to
|
||||
* ignore this command.
|
||||
*/
|
||||
protected @Nullable HeadlessJsTaskConfig getTaskConfig(Intent intent) {
|
||||
return null;
|
||||
@@ -72,10 +69,10 @@ public abstract class HeadlessJsTaskService extends Service implements HeadlessJ
|
||||
public static void acquireWakeLockNow(Context context) {
|
||||
if (sWakeLock == null || !sWakeLock.isHeld()) {
|
||||
PowerManager powerManager =
|
||||
Assertions.assertNotNull((PowerManager) context.getSystemService(POWER_SERVICE));
|
||||
sWakeLock = powerManager.newWakeLock(
|
||||
PowerManager.PARTIAL_WAKE_LOCK,
|
||||
HeadlessJsTaskService.class.getCanonicalName());
|
||||
Assertions.assertNotNull((PowerManager) context.getSystemService(POWER_SERVICE));
|
||||
sWakeLock =
|
||||
powerManager.newWakeLock(
|
||||
PowerManager.PARTIAL_WAKE_LOCK, HeadlessJsTaskService.class.getCanonicalName());
|
||||
sWakeLock.setReferenceCounted(false);
|
||||
sWakeLock.acquire();
|
||||
}
|
||||
@@ -89,7 +86,7 @@ public abstract class HeadlessJsTaskService extends Service implements HeadlessJ
|
||||
/**
|
||||
* Start a task. This method handles starting a new React instance if required.
|
||||
*
|
||||
* Has to be called on the UI thread.
|
||||
* <p>Has to be called on the UI thread.
|
||||
*
|
||||
* @param taskConfig describes what task to start and the parameters to pass to it
|
||||
*/
|
||||
@@ -97,17 +94,17 @@ public abstract class HeadlessJsTaskService extends Service implements HeadlessJ
|
||||
UiThreadUtil.assertOnUiThread();
|
||||
acquireWakeLockNow(this);
|
||||
final ReactInstanceManager reactInstanceManager =
|
||||
getReactNativeHost().getReactInstanceManager();
|
||||
getReactNativeHost().getReactInstanceManager();
|
||||
ReactContext reactContext = reactInstanceManager.getCurrentReactContext();
|
||||
if (reactContext == null) {
|
||||
reactInstanceManager
|
||||
.addReactInstanceEventListener(new ReactInstanceManager.ReactInstanceEventListener() {
|
||||
@Override
|
||||
public void onReactContextInitialized(ReactContext reactContext) {
|
||||
invokeStartTask(reactContext, taskConfig);
|
||||
reactInstanceManager.removeReactInstanceEventListener(this);
|
||||
}
|
||||
});
|
||||
reactInstanceManager.addReactInstanceEventListener(
|
||||
new ReactInstanceManager.ReactInstanceEventListener() {
|
||||
@Override
|
||||
public void onReactContextInitialized(ReactContext reactContext) {
|
||||
invokeStartTask(reactContext, taskConfig);
|
||||
reactInstanceManager.removeReactInstanceEventListener(this);
|
||||
}
|
||||
});
|
||||
reactInstanceManager.createReactContextInBackground();
|
||||
} else {
|
||||
invokeStartTask(reactContext, taskConfig);
|
||||
@@ -115,18 +112,18 @@ public abstract class HeadlessJsTaskService extends Service implements HeadlessJ
|
||||
}
|
||||
|
||||
private void invokeStartTask(ReactContext reactContext, final HeadlessJsTaskConfig taskConfig) {
|
||||
final HeadlessJsTaskContext headlessJsTaskContext = HeadlessJsTaskContext.getInstance(reactContext);
|
||||
final HeadlessJsTaskContext headlessJsTaskContext =
|
||||
HeadlessJsTaskContext.getInstance(reactContext);
|
||||
headlessJsTaskContext.addTaskEventListener(this);
|
||||
|
||||
UiThreadUtil.runOnUiThread(
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
int taskId = headlessJsTaskContext.startTask(taskConfig);
|
||||
mActiveTasks.add(taskId);
|
||||
}
|
||||
}
|
||||
);
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
int taskId = headlessJsTaskContext.startTask(taskConfig);
|
||||
mActiveTasks.add(taskId);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -138,7 +135,7 @@ public abstract class HeadlessJsTaskService extends Service implements HeadlessJ
|
||||
ReactContext reactContext = reactInstanceManager.getCurrentReactContext();
|
||||
if (reactContext != null) {
|
||||
HeadlessJsTaskContext headlessJsTaskContext =
|
||||
HeadlessJsTaskContext.getInstance(reactContext);
|
||||
HeadlessJsTaskContext.getInstance(reactContext);
|
||||
headlessJsTaskContext.removeTaskEventListener(this);
|
||||
}
|
||||
}
|
||||
@@ -148,7 +145,7 @@ public abstract class HeadlessJsTaskService extends Service implements HeadlessJ
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onHeadlessJsTaskStart(int taskId) { }
|
||||
public void onHeadlessJsTaskStart(int taskId) {}
|
||||
|
||||
@Override
|
||||
public void onHeadlessJsTaskFinish(int taskId) {
|
||||
@@ -160,10 +157,10 @@ public abstract class HeadlessJsTaskService extends Service implements HeadlessJ
|
||||
|
||||
/**
|
||||
* Get the {@link ReactNativeHost} used by this app. By default, assumes {@link #getApplication()}
|
||||
* is an instance of {@link ReactApplication} and calls
|
||||
* {@link ReactApplication#getReactNativeHost()}. Override this method if your application class
|
||||
* does not implement {@code ReactApplication} or you simply have a different mechanism for
|
||||
* storing a {@code ReactNativeHost}, e.g. as a static field somewhere.
|
||||
* is an instance of {@link ReactApplication} and calls {@link
|
||||
* ReactApplication#getReactNativeHost()}. Override this method if your application class does not
|
||||
* implement {@code ReactApplication} or you simply have a different mechanism for storing a
|
||||
* {@code ReactNativeHost}, e.g. as a static field somewhere.
|
||||
*/
|
||||
protected ReactNativeHost getReactNativeHost() {
|
||||
return ((ReactApplication) getApplication()).getReactNativeHost();
|
||||
|
||||
Reference in New Issue
Block a user