39
39
import org .chromium .chrome .browser .night_mode .GlobalNightModeStateProviderHolder ;
40
40
import org .chromium .chrome .browser .tab .Tab ;
41
41
import org .chromium .chrome .browser .tab .TabLaunchType ;
42
+ import org .chromium .chrome .browser .tabmodel .TabModelSelector ;
42
43
import org .chromium .chrome .browser .tasks .tab_management .BraveTabUiFeatureUtilities ;
43
44
import org .chromium .chrome .browser .toolbar .LocationBarModel ;
44
45
import org .chromium .components .bookmarks .BookmarkId ;
@@ -193,8 +194,14 @@ public static void openNewTab() {
193
194
}
194
195
195
196
private static void openNewTab (BraveActivity braveActivity , boolean isIncognito ) {
196
- if (braveActivity == null || !braveActivity .areTabModelsInitialized ()) return ;
197
- braveActivity .getTabModelSelector ().getModel (isIncognito ).commitAllTabClosures ();
197
+ if (braveActivity == null ) return ;
198
+
199
+ ObservableSupplier <TabModelSelector > supplier = braveActivity .getTabModelSelectorSupplier ();
200
+ TabModelSelector selector = supplier .get ();
201
+ if (selector == null ) {
202
+ return ;
203
+ }
204
+ selector .getModel (isIncognito ).commitAllTabClosures ();
198
205
braveActivity .getTabCreator (isIncognito ).launchNtp ();
199
206
}
200
207
@@ -210,18 +217,19 @@ public static void openUrlInNewTab(boolean isIncognito, String url) {
210
217
public static void openUrlInNewTabInBackground (boolean isIncognito , String url ) {
211
218
try {
212
219
BraveActivity braveActivity = BraveActivity .getBraveActivity ();
213
- if (braveActivity .getTabModelSelector () != null
214
- && braveActivity .areTabModelsInitialized ()
215
- && braveActivity .getActivityTab () != null ) {
216
- braveActivity
217
- .getTabModelSelector ()
218
- .openNewTab (
219
- new LoadUrlParams (url ),
220
- BraveTabUiFeatureUtilities .isBraveTabGroupsEnabled ()
221
- ? TabLaunchType .FROM_LONGPRESS_BACKGROUND_IN_GROUP
222
- : TabLaunchType .FROM_LONGPRESS_BACKGROUND ,
223
- braveActivity .getActivityTab (),
224
- isIncognito );
220
+
221
+ ObservableSupplier <TabModelSelector > supplier =
222
+ braveActivity .getTabModelSelectorSupplier ();
223
+ TabModelSelector selector = supplier .get ();
224
+
225
+ if (selector != null && braveActivity .getActivityTab () != null ) {
226
+ selector .openNewTab (
227
+ new LoadUrlParams (url ),
228
+ BraveTabUiFeatureUtilities .isBraveTabGroupsEnabled ()
229
+ ? TabLaunchType .FROM_LONGPRESS_BACKGROUND_IN_GROUP
230
+ : TabLaunchType .FROM_LONGPRESS_BACKGROUND ,
231
+ braveActivity .getActivityTab (),
232
+ isIncognito );
225
233
}
226
234
} catch (BraveActivity .BraveActivityNotFoundException e ) {
227
235
Log .e (TAG , "openUrlInNewTabInBackground " + e );
0 commit comments