1616 */
1717final class ScreenOrientationMonitor implements ComponentCallbacks {
1818
19- /** 当前屏幕的方向 */
20- private int mScreenOrientation ;
19+ /** 当前屏幕的方向 */
20+ private int mScreenOrientation ;
2121
22- /** 屏幕旋转回调 */
23- @ Nullable
24- private Reference <OnScreenOrientationCallback > mCallbackReference ;
22+ /** 屏幕旋转回调 */
23+ @ Nullable
24+ private Reference <OnScreenOrientationCallback > mCallbackReference ;
2525
26- public ScreenOrientationMonitor (int screenOrientation ) {
27- mScreenOrientation = screenOrientation ;
28- }
26+ public ScreenOrientationMonitor (int screenOrientation ) {
27+ mScreenOrientation = screenOrientation ;
28+ }
2929
30- /**
31- * 注册监听
32- */
33- void registerCallback (@ Nullable Context context , @ Nullable OnScreenOrientationCallback callback ) {
34- if (context == null ) {
35- return ;
36- }
37- if (callback == null ) {
38- unregisterCallback (context );
39- return ;
40- }
41- Context applicationContext = context .getApplicationContext ();
42- if (applicationContext != null ) {
43- applicationContext .registerComponentCallbacks (this );
44- }
45- mCallbackReference = new WeakReference <>(callback );
46- }
30+ /**
31+ * 注册监听
32+ */
33+ void registerCallback (@ Nullable Context context , @ Nullable OnScreenOrientationCallback callback ) {
34+ if (context == null ) {
35+ return ;
36+ }
37+ if (callback == null ) {
38+ unregisterCallback (context );
39+ return ;
40+ }
41+ Context applicationContext = context .getApplicationContext ();
42+ if (applicationContext != null ) {
43+ applicationContext .registerComponentCallbacks (this );
44+ }
45+ mCallbackReference = new WeakReference <>(callback );
46+ }
4747
48- /**
49- * 取消监听
50- */
51- void unregisterCallback (@ Nullable Context context ) {
52- if (context == null ) {
53- return ;
54- }
55- Context applicationContext = context .getApplicationContext ();
56- if (applicationContext != null ) {
57- applicationContext .unregisterComponentCallbacks (this );
58- }
59- if (mCallbackReference != null ) {
60- mCallbackReference .clear ();
61- }
62- mCallbackReference = null ;
63- }
48+ /**
49+ * 取消监听
50+ */
51+ void unregisterCallback (@ Nullable Context context ) {
52+ if (context == null ) {
53+ return ;
54+ }
55+ Context applicationContext = context .getApplicationContext ();
56+ if (applicationContext != null ) {
57+ applicationContext .unregisterComponentCallbacks (this );
58+ }
59+ if (mCallbackReference != null ) {
60+ mCallbackReference .clear ();
61+ }
62+ mCallbackReference = null ;
63+ }
6464
65- @ Override
66- public void onConfigurationChanged (@ NonNull Configuration newConfig ) {
67- if (mScreenOrientation == newConfig .orientation ) {
68- return ;
69- }
70- mScreenOrientation = newConfig .orientation ;
65+ @ Override
66+ public void onConfigurationChanged (@ NonNull Configuration newConfig ) {
67+ if (mScreenOrientation == newConfig .orientation ) {
68+ return ;
69+ }
70+ mScreenOrientation = newConfig .orientation ;
7171
72- if (mCallbackReference == null ) {
73- return ;
74- }
75- OnScreenOrientationCallback callback = mCallbackReference .get ();
76- if (callback == null ) {
77- return ;
78- }
79- callback .onScreenOrientationChange (mScreenOrientation );
80- }
72+ if (mCallbackReference == null ) {
73+ return ;
74+ }
75+ OnScreenOrientationCallback callback = mCallbackReference .get ();
76+ if (callback == null ) {
77+ return ;
78+ }
79+ callback .onScreenOrientationChange (mScreenOrientation );
80+ }
8181
82- @ Override
83- public void onLowMemory () {
84- // default implementation ignored
85- }
82+ @ Override
83+ public void onLowMemory () {
84+ // default implementation ignored
85+ }
8686
87- /**
88- * 屏幕方向监听器
89- */
90- interface OnScreenOrientationCallback {
87+ /**
88+ * 屏幕方向监听器
89+ */
90+ interface OnScreenOrientationCallback {
9191
92- /**
93- * 监听屏幕旋转了
94- *
95- * @param newOrientation 最新的屏幕方向
96- */
97- default void onScreenOrientationChange (int newOrientation ) {
98- // default implementation ignored
99- }
100- }
92+ /**
93+ * 监听屏幕旋转了
94+ *
95+ * @param newOrientation 最新的屏幕方向
96+ */
97+ default void onScreenOrientationChange (int newOrientation ) {
98+ // default implementation ignored
99+ }
100+ }
101101}
0 commit comments