|
|
@@ -5,9 +5,11 @@ import android.content.Context;
|
|
5
|
5
|
import android.content.res.Resources;
|
|
6
|
6
|
import android.graphics.drawable.Drawable;
|
|
7
|
7
|
import android.os.AsyncTask;
|
|
|
8
|
+import android.support.annotation.UiThread;
|
|
8
|
9
|
import android.support.v4.content.ContextCompat;
|
|
9
|
10
|
import android.support.v4.content.res.ResourcesCompat;
|
|
10
|
11
|
import android.support.v7.app.ActionBar;
|
|
|
12
|
+import android.support.v7.app.AppCompatActivity;
|
|
11
|
13
|
import android.support.v7.widget.Toolbar;
|
|
12
|
14
|
import android.util.AttributeSet;
|
|
13
|
15
|
import android.view.Menu;
|
|
|
@@ -70,6 +72,12 @@ public class RnnToolBar extends Toolbar {
|
|
70
|
72
|
} else {
|
|
71
|
73
|
resetTitleTextColor();
|
|
72
|
74
|
}
|
|
|
75
|
+
|
|
|
76
|
+ if (screen.toolBarHidden != null && screen.toolBarHidden) {
|
|
|
77
|
+ hideToolbar();
|
|
|
78
|
+ } else {
|
|
|
79
|
+ showToolbar();
|
|
|
80
|
+ }
|
|
73
|
81
|
}
|
|
74
|
82
|
|
|
75
|
83
|
private void resetBackground() {
|
|
|
@@ -95,6 +103,20 @@ public class RnnToolBar extends Toolbar {
|
|
95
|
103
|
}
|
|
96
|
104
|
}
|
|
97
|
105
|
|
|
|
106
|
+ private void showToolbar() {
|
|
|
107
|
+ ActionBar actionBar = ContextProvider.getActivityContext().getSupportActionBar();
|
|
|
108
|
+ if (actionBar != null) {
|
|
|
109
|
+ actionBar.show();
|
|
|
110
|
+ }
|
|
|
111
|
+ }
|
|
|
112
|
+
|
|
|
113
|
+ private void hideToolbar() {
|
|
|
114
|
+ ActionBar actionBar = ContextProvider.getActivityContext().getSupportActionBar();
|
|
|
115
|
+ if (actionBar != null) {
|
|
|
116
|
+ actionBar.hide();
|
|
|
117
|
+ }
|
|
|
118
|
+ }
|
|
|
119
|
+
|
|
98
|
120
|
@SuppressWarnings({"ConstantConditions"})
|
|
99
|
121
|
public void showBackButton(Screen screen) {
|
|
100
|
122
|
ActionBar actionBar = ContextProvider.getActivityContext().getSupportActionBar();
|
|
|
@@ -126,6 +148,18 @@ public class RnnToolBar extends Toolbar {
|
|
126
|
148
|
ContextProvider.getActivityContext().getSupportActionBar().setDisplayHomeAsUpEnabled(false);
|
|
127
|
149
|
}
|
|
128
|
150
|
|
|
|
151
|
+ @UiThread
|
|
|
152
|
+ public void updateToolbar(Screen screen) {
|
|
|
153
|
+ setSupportActionBar();
|
|
|
154
|
+ setTitle(screen.title);
|
|
|
155
|
+ setStyle(screen);
|
|
|
156
|
+ setupToolbarButtonsAsync(screen);
|
|
|
157
|
+ }
|
|
|
158
|
+
|
|
|
159
|
+ private void setSupportActionBar() {
|
|
|
160
|
+ ((AppCompatActivity) getContext()).setSupportActionBar(this);
|
|
|
161
|
+ }
|
|
|
162
|
+
|
|
129
|
163
|
private static class SetupToolbarButtonsTask extends AsyncTask<Void, Void, Map<String, Drawable>> {
|
|
130
|
164
|
private final List<Button> mOldButtons;
|
|
131
|
165
|
private final List<Button> mNewButtons;
|