|
@@ -7,9 +7,7 @@ import android.graphics.Color;
|
7
|
7
|
import android.os.Build;
|
8
|
8
|
import android.os.Bundle;
|
9
|
9
|
import android.support.v7.app.AppCompatActivity;
|
10
|
|
-import android.view.View;
|
11
|
10
|
import android.view.Window;
|
12
|
|
-import android.view.WindowManager;
|
13
|
11
|
import android.widget.RelativeLayout;
|
14
|
12
|
|
15
|
13
|
import com.facebook.react.bridge.Callback;
|
|
@@ -30,6 +28,7 @@ import com.reactnativenavigation.params.StyleParams;
|
30
|
28
|
import com.reactnativenavigation.params.TitleBarButtonParams;
|
31
|
29
|
import com.reactnativenavigation.params.TitleBarLeftButtonParams;
|
32
|
30
|
import com.reactnativenavigation.params.parsers.StyleParamsParser;
|
|
31
|
+import com.reactnativenavigation.utils.StatusBar;
|
33
|
32
|
import com.reactnativenavigation.views.ContentView;
|
34
|
33
|
import com.reactnativenavigation.views.LeftButtonOnClickListener;
|
35
|
34
|
import com.reactnativenavigation.views.TopBar;
|
|
@@ -170,44 +169,16 @@ public abstract class Screen extends RelativeLayout implements Subscriber {
|
170
|
169
|
addView(topBar, new LayoutParams(MATCH_PARENT, WRAP_CONTENT));
|
171
|
170
|
}
|
172
|
171
|
|
173
|
|
- @TargetApi(Build.VERSION_CODES.LOLLIPOP)
|
174
|
172
|
private void setStatusBarColor(StyleParams.Color statusBarColor) {
|
175
|
|
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) return;
|
176
|
|
-
|
177
|
|
- final Window window = ((NavigationActivity) activity).getScreenWindow();
|
178
|
|
- if (statusBarColor.hasColor()) {
|
179
|
|
- window.setStatusBarColor(statusBarColor.getColor());
|
180
|
|
- } else {
|
181
|
|
- window.setStatusBarColor(Color.BLACK);
|
182
|
|
- }
|
|
173
|
+ StatusBar.setColor(((NavigationActivity) activity).getScreenWindow(), statusBarColor);
|
183
|
174
|
}
|
184
|
175
|
|
185
|
176
|
private void setStatusBarHidden(boolean statusBarHidden) {
|
186
|
|
- final Window window = ((NavigationActivity) activity).getScreenWindow();
|
187
|
|
- if (statusBarHidden) {
|
188
|
|
- window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
189
|
|
- } else {
|
190
|
|
- window.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
191
|
|
- }
|
|
177
|
+ StatusBar.setHidden(((NavigationActivity) activity).getScreenWindow(), statusBarHidden);
|
192
|
178
|
}
|
193
|
179
|
|
194
|
|
- @TargetApi(Build.VERSION_CODES.M)
|
195
|
180
|
private void setStatusBarTextColorScheme(StatusBarTextColorScheme textColorScheme) {
|
196
|
|
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) return;
|
197
|
|
- if (StatusBarTextColorScheme.Dark.equals(textColorScheme)) {
|
198
|
|
- int flags = getSystemUiVisibility();
|
199
|
|
- flags |= View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
|
200
|
|
- setSystemUiVisibility(flags);
|
201
|
|
- } else {
|
202
|
|
- clearLightStatusBar();
|
203
|
|
- }
|
204
|
|
- }
|
205
|
|
-
|
206
|
|
- public void clearLightStatusBar() {
|
207
|
|
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) return;
|
208
|
|
- int flags = getSystemUiVisibility();
|
209
|
|
- flags &= ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
|
210
|
|
- setSystemUiVisibility(flags);
|
|
181
|
+ StatusBar.setTextColorScheme(this, textColorScheme);
|
211
|
182
|
}
|
212
|
183
|
|
213
|
184
|
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
|