Skip to content

Commit 67c8c53

Browse files
committed
fix colors not working with instance of COlor
1 parent 4e6ef6d commit 67c8c53

File tree

4 files changed

+20
-13
lines changed

4 files changed

+20
-13
lines changed

src/InAppBrowser.android.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ import Bundle = android.os.Bundle;
33
import TextUtils = android.text.TextUtils;
44
import Intent = android.content.Intent;
55
import Context = android.content.Context;
6-
import Color = android.graphics.Color;
6+
// import Color = android.graphics.Color;
77
import BitmapFactory = android.graphics.BitmapFactory;
88
import Browser = android.provider.Browser;
99
import Pattern = java.util.regex.Pattern;
1010
import AssertionError = java.lang.AssertionError;
1111

12-
import { Utils, Application, EventData } from '@nativescript/core';
12+
import { Utils, Application, EventData, Color } from '@nativescript/core';
1313
import {
1414
ChromeTabsEvent,
1515
BROWSER_ACTIVITY_EVENTS,
@@ -103,18 +103,20 @@ function setup() {
103103
const builder = new CustomTabsIntent.Builder();
104104
if (inAppBrowserOptions[InAppBrowserModule.KEY_TOOLBAR_COLOR]) {
105105
const colorString = inAppBrowserOptions[InAppBrowserModule.KEY_TOOLBAR_COLOR];
106+
const color = colorString instanceof Color ? colorString : new Color(colorString);
106107
try {
107-
builder.setToolbarColor(Color.parseColor(colorString));
108-
this.isLightTheme = toolbarIsLight(colorString);
108+
builder.setToolbarColor(color.android);
109+
this.isLightTheme = toolbarIsLight(color.android);
109110
} catch (error) {
110111
throw new Error(
111112
"Invalid toolbar color '" + colorString + "': " + error.message);
112113
}
113114
}
114115
if (inAppBrowserOptions[InAppBrowserModule.KEY_SECONDARY_TOOLBAR_COLOR]) {
115116
const colorString = inAppBrowserOptions[InAppBrowserModule.KEY_SECONDARY_TOOLBAR_COLOR];
117+
const color = colorString instanceof Color ? colorString : new Color(colorString);
116118
try {
117-
builder.setSecondaryToolbarColor(Color.parseColor(colorString));
119+
builder.setSecondaryToolbarColor(color.android);
118120
} catch (error) {
119121
throw new Error(
120122
"Invalid secondary toolbar color '" + colorString + "': " + error.message);

src/InAppBrowser.common.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { Color } from "@nativescript/core";
2+
13
export interface RedirectEvent {
24
url: 'string';
35
}
@@ -14,8 +16,8 @@ export interface RedirectResult {
1416

1517
type InAppBrowseriOSOptions = {
1618
dismissButtonStyle?: 'done' | 'close' | 'cancel',
17-
preferredBarTintColor?: string,
18-
preferredControlTintColor?: string,
19+
preferredBarTintColor?: string | Color,
20+
preferredControlTintColor?: string | Color,
1921
readerMode?: boolean,
2022
animated?: boolean,
2123
modalPresentationStyle?:
@@ -48,8 +50,8 @@ export type Animations = {
4850

4951
type InAppBrowserAndroidOptions = {
5052
showTitle?: boolean,
51-
toolbarColor?: string,
52-
secondaryToolbarColor?: string,
53+
toolbarColor?: string | Color,
54+
secondaryToolbarColor?: string | Color,
5355
enableUrlBarHiding?: boolean,
5456
enableDefaultShare?: boolean,
5557
forceCloseOnRedirection?: boolean,

src/InAppBrowser.ios.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,13 @@ function setup() {
9898

9999
if (Utils.ios.MajorVersion >= 10) {
100100
if (inAppBrowserOptions.preferredBarTintColor) {
101-
this.safariVC.preferredBarTintColor = new Color(inAppBrowserOptions.preferredBarTintColor).ios;
101+
const color = inAppBrowserOptions.preferredBarTintColor instanceof Color ? inAppBrowserOptions.preferredBarTintColor : new Color(inAppBrowserOptions.preferredBarTintColor);
102+
103+
this.safariVC.preferredBarTintColor = color.ios;
102104
}
103105
if (inAppBrowserOptions.preferredControlTintColor) {
104-
this.safariVC.preferredControlTintColor = new Color(inAppBrowserOptions.preferredControlTintColor).ios;
106+
const color = inAppBrowserOptions.preferredControlTintColor instanceof Color ? inAppBrowserOptions.preferredControlTintColor : new Color(inAppBrowserOptions.preferredControlTintColor);
107+
this.safariVC.preferredControlTintColor = color.ios;
105108
}
106109
}
107110

src/utils.android.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,8 @@ export function getPreferredPackages(context: Context): List<ResolveInfo> {
156156
return resolveInfos;
157157
}
158158

159-
export function toolbarIsLight(themeColor: string): boolean {
160-
return ColorUtils.calculateLuminance(Color.parseColor(themeColor)) > 0.5;
159+
export function toolbarIsLight(themeColor: number): boolean {
160+
return ColorUtils.calculateLuminance(themeColor) > 0.5;
161161
}
162162

163163
export function getDefaultBrowser(context: Context): string {

0 commit comments

Comments
 (0)