Skip to content

Commit c5db112

Browse files
authored
feat(android): androidX support (#7039)
* feat: migrate support library namespaces to androidX * feat(tns-platform-declarations): update to androidX typings * chore(tests): migrate test apps to AndroidX * chore(tns-platform-declarations): update tsconfig to include androidx dts files * update package.json to androidx * chore(androidx): migrate forgotten support library namspaces * feat(tns-core-modules-widgets): migrate to AndroidX namespaces * chore(utils): update androidx namspace for getPaletteColor method * chore(apps): update tns-platform-declarations package * Update package.json
1 parent 0a4b813 commit c5db112

60 files changed

Lines changed: 142022 additions & 126742 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

apps/app/App_Resources/Android/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
<meta-data android:name="debugLayouts" android:value="true" />
3030

3131
<provider
32-
android:name="android.support.v4.content.FileProvider"
32+
android:name="androidx.core.content.FileProvider"
3333
android:authorities="org.nativescript.apps.provider"
3434
android:exported="false"
3535
android:grantUriPermissions="true">

apps/app/App_Resources/Android/app.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ android {
1414
additionalParameters "--no-version-vectors"
1515
}
1616
}
17+
project.ext.useAndroidX=true

apps/app/perf-app/recycling/main-page.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ export function navigatingTo(args) {
2929

3030
application.android.on(application.AndroidApplication.activityRequestPermissionsEvent, handler);
3131

32-
if ((<any>android.support.v4.content.ContextCompat).checkSelfPermission(application.android.currentContext, (<any>android).Manifest.permission.WRITE_EXTERNAL_STORAGE) !== android.content.pm.PackageManager.PERMISSION_GRANTED) {
33-
(<any>android.support.v4.app.ActivityCompat).requestPermissions(application.android.currentContext, [(<any>android).Manifest.permission.WRITE_EXTERNAL_STORAGE], 1234);
32+
if ((<any>androidx.core.content.ContextCompat).checkSelfPermission(application.android.currentContext, (<any>android).Manifest.permission.WRITE_EXTERNAL_STORAGE) !== android.content.pm.PackageManager.PERMISSION_GRANTED) {
33+
(<any>androidx.core.app.ActivityCompat).requestPermissions(application.android.currentContext, [(<any>android).Manifest.permission.WRITE_EXTERNAL_STORAGE], 1234);
3434
}
3535
} else {
3636
console.log("Permission for write to external storage GRANTED!")

apps/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
"babylon": "6.8.3",
2222
"lazy": "1.0.11",
2323
"nativescript-dev-typescript": "next",
24-
"tns-platform-declarations": "*",
24+
"tns-platform-declarations": "androidx",
2525
"typescript": "^3.1.6"
2626
}
27-
}
27+
}

tests/app/App_Resources/Android/app.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ android {
1313
additionalParameters "--no-version-vectors"
1414
}
1515
}
16+
project.ext.useAndroidX=true

tests/app/ui/action-bar/action-bar-tests.android.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export function test_actionItem_visibility() {
1111
actionItem.text = "Test";
1212
const page = actionTestsCommon.createPageAndNavigate();
1313
page.actionBar.actionItems.addItem(actionItem);
14-
const toolbar = <android.support.v7.widget.Toolbar>page.actionBar.nativeViewProtected;
14+
const toolbar = <androidx.appcompat.widget.Toolbar>page.actionBar.nativeViewProtected;
1515
const menu = toolbar.getMenu();
1616

1717
TKUnit.assertTrue(menu.hasVisibleItems(), "Visibility does not work");
@@ -25,7 +25,7 @@ export function test_navigationButton_visibility() {
2525
const page = actionTestsCommon.createPageAndNavigate();
2626
page.actionBar.navigationButton = actionItem;
2727

28-
const toolbar = <android.support.v7.widget.Toolbar>page.actionBar.nativeViewProtected;
28+
const toolbar = <androidx.appcompat.widget.Toolbar>page.actionBar.nativeViewProtected;
2929

3030
TKUnit.assertNotNull(toolbar.getNavigationIcon(), "Visibility does not work");
3131
actionItem.visibility = Visibility.collapse;
@@ -40,7 +40,7 @@ export function test_navigationButton_contentDecription() {
4040
const page = actionTestsCommon.createPageAndNavigate();
4141
page.actionBar.navigationButton = actionItem;
4242

43-
const toolbar = <android.support.v7.widget.Toolbar>page.actionBar.nativeViewProtected;
43+
const toolbar = <androidx.appcompat.widget.Toolbar>page.actionBar.nativeViewProtected;
4444

4545
TKUnit.assertEqual(toolbar.getNavigationContentDescription(), actionItemText, "Navigation Button should have an content decription");
4646
}

tests/app/ui/tab-view/tab-view-navigation-tests.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ function tabViewIsFullyLoaded(tabView: TabView): boolean {
191191
}
192192

193193
if (tabView.android) {
194-
var viewPager: android.support.v4.view.ViewPager = (<any>tabView)._viewPager;
194+
var viewPager: androidx.viewpager.widget.ViewPager = (<any>tabView)._viewPager;
195195
if (viewPager.getChildCount() === 0) {
196196
return false;
197197
}
@@ -265,7 +265,7 @@ export function testLoadedAndUnloadedAreFired_WhenNavigatingAwayAndBack() {
265265

266266
function _clickTheFirstButtonInTheListViewNatively(tabView: TabView) {
267267
if (tabView.android) {
268-
var viewPager: android.support.v4.view.ViewPager = (<any>tabView)._viewPager;
268+
var viewPager: androidx.viewpager.widget.ViewPager = (<any>tabView)._viewPager;
269269
var androidListView = <android.widget.ListView>viewPager.getChildAt(0);
270270
var stackLayout = <org.nativescript.widgets.StackLayout>androidListView.getChildAt(0);
271271
var button = <android.widget.Button>stackLayout.getChildAt(0);

tests/app/ui/tab-view/tab-view-tests-native.android.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
import { TabView } from "tns-core-modules/ui/tab-view";
22

33
export function getNativeTabCount(tabView: TabView): number {
4-
const pagerAdapter: android.support.v4.view.PagerAdapter = (<any>tabView)._pagerAdapter;
4+
const pagerAdapter: androidx.viewpager.widget.PagerAdapter = (<any>tabView)._pagerAdapter;
55
return pagerAdapter ? pagerAdapter.getCount() : 0;
66
}
77

88
export function selectNativeTab(tabView: TabView, index: number): void {
9-
const viewPager: android.support.v4.view.ViewPager = (<any>tabView)._viewPager;
9+
const viewPager: androidx.viewpager.widget.ViewPager = (<any>tabView)._viewPager;
1010
if (viewPager) {
1111
viewPager.setCurrentItem(index);
1212
}
1313
}
1414

1515
export function getNativeSelectedIndex(tabView: TabView): number {
16-
const viewPager: android.support.v4.view.ViewPager = (<any>tabView)._viewPager;
16+
const viewPager: androidx.viewpager.widget.ViewPager = (<any>tabView)._viewPager;
1717
return viewPager ? viewPager.getCurrentItem() : -1;
1818
}
1919

tests/app/ui/tab-view/tab-view-tests.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ export class TabViewTest extends UITest<tabViewModule.TabView> {
5959
}
6060

6161
if (tabView.android) {
62-
var viewPager: android.support.v4.view.ViewPager = (<any>tabView)._viewPager;
62+
var viewPager: androidx.viewpager.widget.ViewPager = (<any>tabView)._viewPager;
6363
if (viewPager.getChildCount() === 0) {
6464
return false;
6565
}

tns-core-modules-widgets/android/build.gradle

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ buildscript {
66
jcenter()
77
}
88
dependencies {
9-
classpath 'com.android.tools.build:gradle:3.1.3'
9+
classpath 'com.android.tools.build:gradle:3.2.0'
1010

1111
// NOTE: Do not place your application dependencies here; they belong
1212
// in the individual module build.gradle files
@@ -23,3 +23,5 @@ allprojects {
2323
task clean(type: Delete) {
2424
delete rootProject.buildDir
2525
}
26+
27+
project.ext.useAndroidX=true

0 commit comments

Comments
 (0)