Add @UiThread annotation to methods that update DisplayMetrics
Summary: It seems like DisplayMetricsHolder doesn't have any thread safety policy, but in practice it only updates DisplayMetrics from the main thread. Let's formalize that by adding some annotations to that effect. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D19417331 fbshipit-source-id: f1d464f228776197fd0df2978c9e8edbaab67850
This commit is contained in:
Родитель
58d226f0b5
Коммит
53ce7b2183
|
@ -13,7 +13,9 @@ import android.util.DisplayMetrics;
|
|||
import android.view.Display;
|
||||
import android.view.WindowManager;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.UiThread;
|
||||
import com.facebook.infer.annotation.Assertions;
|
||||
import com.facebook.react.bridge.UiThreadUtil;
|
||||
import com.facebook.react.bridge.WritableNativeMap;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
|
@ -37,7 +39,9 @@ public class DisplayMetricsHolder {
|
|||
* @deprecated Use {@link #setScreenDisplayMetrics(DisplayMetrics)} instead. See comment above as
|
||||
* to why this is not correct to use.
|
||||
*/
|
||||
@UiThread
|
||||
public static void setWindowDisplayMetrics(DisplayMetrics displayMetrics) {
|
||||
UiThreadUtil.assertOnUiThread();
|
||||
sWindowDisplayMetrics = displayMetrics;
|
||||
}
|
||||
|
||||
|
@ -48,7 +52,9 @@ public class DisplayMetricsHolder {
|
|||
initDisplayMetrics(context);
|
||||
}
|
||||
|
||||
@UiThread
|
||||
public static void initDisplayMetrics(Context context) {
|
||||
UiThreadUtil.assertOnUiThread();
|
||||
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
|
||||
DisplayMetricsHolder.setWindowDisplayMetrics(displayMetrics);
|
||||
|
||||
|
@ -95,7 +101,9 @@ public class DisplayMetricsHolder {
|
|||
return sWindowDisplayMetrics;
|
||||
}
|
||||
|
||||
@UiThread
|
||||
public static void setScreenDisplayMetrics(DisplayMetrics screenDisplayMetrics) {
|
||||
UiThreadUtil.assertOnUiThread();
|
||||
sScreenDisplayMetrics = screenDisplayMetrics;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче