Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
b7a250d
feat: migrate support library namespaces to androidX
ADjenkov Mar 14, 2019
699ebed
feat(tns-platform-declarations): update to androidX typings
ADjenkov Mar 14, 2019
64efe1a
chore(tests): migrate test apps to AndroidX
ADjenkov Mar 18, 2019
9279996
chore(tns-platform-declarations): update tsconfig to include androidx…
ADjenkov Mar 19, 2019
a5788da
update package.json to androidx
ADjenkov Mar 19, 2019
a5b45a2
chore(androidx): migrate forgotten support library namspaces
ADjenkov Mar 20, 2019
6161256
Merge branch 'master' into androidx
ADjenkov Mar 21, 2019
b0f53ca
feat(tns-core-modules-widgets): migrate to AndroidX namespaces
ADjenkov Mar 21, 2019
006a16d
chore(utils): update androidx namspace for getPaletteColor method
ADjenkov Mar 21, 2019
e8c159e
Merge branch 'master' into androidx
ADjenkov Mar 21, 2019
6d63c03
chore(apps): update tns-platform-declarations package
ADjenkov Mar 21, 2019
839da42
Merge branch 'androidx' of github.com:NativeScript/NativeScript into …
ADjenkov Mar 21, 2019
fcab3b6
Merge branch 'master' into androidx
ADjenkov Mar 22, 2019
a88aa1e
Update package.json
SvetoslavTsenov Mar 22, 2019
366f0d3
Merge branch 'master' into androidx
ADjenkov Apr 2, 2019
064a168
Merge branch 'master' into androidx
ADjenkov Apr 8, 2019
7d7fb3a
Merge branch 'master' into androidx
ADjenkov Apr 15, 2019
e76d0cc
Merge branch 'master' into androidx
ADjenkov May 21, 2019
1bcc689
Merge branch 'master' into androidx
ADjenkov May 22, 2019
d051828
Merge branch 'master' into androidx
manoldonev May 27, 2019
49c3e0f
Merge branch 'master' into androidx
ADjenkov Jun 3, 2019
0921fa7
Merge branch 'master' into androidx
SvetoslavTsenov Jun 4, 2019
1a353bc
Merge branch 'master' into androidx
manoldonev Jun 7, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion apps/app/App_Resources/Android/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
<meta-data android:name="debugLayouts" android:value="true" />

<provider
android:name="android.support.v4.content.FileProvider"
android:name="androidx.core.content.FileProvider"
android:authorities="org.nativescript.apps.provider"
android:exported="false"
android:grantUriPermissions="true">
Expand Down
1 change: 1 addition & 0 deletions apps/app/App_Resources/Android/app.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,4 @@ android {
additionalParameters "--no-version-vectors"
}
}
project.ext.useAndroidX=true
4 changes: 2 additions & 2 deletions apps/app/perf-app/recycling/main-page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ export function navigatingTo(args) {

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

if ((<any>android.support.v4.content.ContextCompat).checkSelfPermission(application.android.currentContext, (<any>android).Manifest.permission.WRITE_EXTERNAL_STORAGE) !== android.content.pm.PackageManager.PERMISSION_GRANTED) {
(<any>android.support.v4.app.ActivityCompat).requestPermissions(application.android.currentContext, [(<any>android).Manifest.permission.WRITE_EXTERNAL_STORAGE], 1234);
if ((<any>androidx.core.content.ContextCompat).checkSelfPermission(application.android.currentContext, (<any>android).Manifest.permission.WRITE_EXTERNAL_STORAGE) !== android.content.pm.PackageManager.PERMISSION_GRANTED) {
(<any>androidx.core.app.ActivityCompat).requestPermissions(application.android.currentContext, [(<any>android).Manifest.permission.WRITE_EXTERNAL_STORAGE], 1234);
}
} else {
console.log("Permission for write to external storage GRANTED!")
Expand Down
4 changes: 2 additions & 2 deletions apps/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"babylon": "6.8.3",
"lazy": "1.0.11",
"nativescript-dev-typescript": "next",
"tns-platform-declarations": "*",
"tns-platform-declarations": "androidx",
"typescript": "^3.1.6"
}
}
}
1 change: 1 addition & 0 deletions tests/app/App_Resources/Android/app.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@ android {
additionalParameters "--no-version-vectors"
}
}
project.ext.useAndroidX=true
6 changes: 3 additions & 3 deletions tests/app/ui/action-bar/action-bar-tests.android.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export function test_actionItem_visibility() {
actionItem.text = "Test";
const page = actionTestsCommon.createPageAndNavigate();
page.actionBar.actionItems.addItem(actionItem);
const toolbar = <android.support.v7.widget.Toolbar>page.actionBar.nativeViewProtected;
const toolbar = <androidx.appcompat.widget.Toolbar>page.actionBar.nativeViewProtected;
const menu = toolbar.getMenu();

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

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

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

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

TKUnit.assertEqual(toolbar.getNavigationContentDescription(), actionItemText, "Navigation Button should have an content decription");
}
Expand Down
4 changes: 2 additions & 2 deletions tests/app/ui/tab-view/tab-view-navigation-tests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ function tabViewIsFullyLoaded(tabView: TabView): boolean {
}

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

function _clickTheFirstButtonInTheListViewNatively(tabView: TabView) {
if (tabView.android) {
var viewPager: android.support.v4.view.ViewPager = (<any>tabView)._viewPager;
var viewPager: androidx.viewpager.widget.ViewPager = (<any>tabView)._viewPager;
var androidListView = <android.widget.ListView>viewPager.getChildAt(0);
var stackLayout = <org.nativescript.widgets.StackLayout>androidListView.getChildAt(0);
var button = <android.widget.Button>stackLayout.getChildAt(0);
Expand Down
6 changes: 3 additions & 3 deletions tests/app/ui/tab-view/tab-view-tests-native.android.ts
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
import { TabView } from "tns-core-modules/ui/tab-view";

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

export function selectNativeTab(tabView: TabView, index: number): void {
const viewPager: android.support.v4.view.ViewPager = (<any>tabView)._viewPager;
const viewPager: androidx.viewpager.widget.ViewPager = (<any>tabView)._viewPager;
if (viewPager) {
viewPager.setCurrentItem(index);
}
}

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

Expand Down
2 changes: 1 addition & 1 deletion tests/app/ui/tab-view/tab-view-tests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ export class TabViewTest extends UITest<tabViewModule.TabView> {
}

if (tabView.android) {
var viewPager: android.support.v4.view.ViewPager = (<any>tabView)._viewPager;
var viewPager: androidx.viewpager.widget.ViewPager = (<any>tabView)._viewPager;
if (viewPager.getChildCount() === 0) {
return false;
}
Expand Down
4 changes: 3 additions & 1 deletion tns-core-modules-widgets/android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3'
classpath 'com.android.tools.build:gradle:3.2.0'

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
Expand All @@ -23,3 +23,5 @@ allprojects {
task clean(type: Delete) {
delete rootProject.buildDir
}

project.ext.useAndroidX=true
20 changes: 19 additions & 1 deletion tns-core-modules-widgets/android/widgets/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,15 @@ def computeBuildToolsVersion() {
}
}

def computeAndroidXVersion() {
if(project.hasProperty("androidxVersion")) {
return androidxVersion
}
else {
return "1.0.0"
}
}

def computeSupportVersion() {
if(project.hasProperty("supportVersion")) {
return supportVersion
Expand Down Expand Up @@ -62,7 +71,16 @@ android {

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:support-v4:' + computeSupportVersion()

if(project.hasProperty("useAndroidX")) {
println 'Using androix'
def androidxVersion = computeAndroidXVersion()
implementation 'androidx.viewpager:viewpager:' + androidxVersion
implementation 'androidx.fragment:fragment:' + androidxVersion
} else {
println 'Using support library'
implementation 'com.android.support:support-v4:' + computeSupportVersion()
}
}

task cleanBuildDir (type: Delete) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.Shader;
import android.support.annotation.NonNull;
import androidx.annotation.NonNull;

import org.nativescript.widgets.image.BitmapOwner;
import org.nativescript.widgets.image.Fetcher;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.support.annotation.IntDef;
import android.support.annotation.NonNull;
import android.support.v4.view.ViewCompat;
import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.core.view.ViewCompat;
import android.util.AttributeSet;
import android.util.SparseIntArray;
import android.view.View;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.nativescript.widgets;

import android.animation.Animator;
import android.support.v4.app.Fragment;
import androidx.fragment.app.Fragment;

public abstract class FragmentBase extends Fragment {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
import android.os.Build.VERSION_CODES;
import android.os.Environment;
import android.os.StatFs;
import android.support.v4.util.LruCache;
import android.util.LruCache;
import android.util.Log;

import java.io.File;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import android.graphics.Paint;
import android.graphics.drawable.ColorDrawable;
import android.support.annotation.ColorInt;
import androidx.annotation.ColorInt;

/**
* Created by hhristov on 2/23/17.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@

import android.content.Context;
import android.graphics.Typeface;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.SparseArray;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
package org.nativescript.widgets;

import android.content.Context;
import android.support.v4.view.ViewPager;
import androidx.viewpager.widget.ViewPager;
import android.util.AttributeSet;
import android.view.View;
import android.view.MotionEvent;
Expand Down
24 changes: 12 additions & 12 deletions tns-core-modules/application/application.android.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ export class AndroidApplication extends Observable implements AndroidApplication
public paused: boolean;
public nativeApp: android.app.Application;
public context: android.content.Context;
public foregroundActivity: android.support.v7.app.AppCompatActivity;
public startActivity: android.support.v7.app.AppCompatActivity;
public foregroundActivity: androidx.appcompat.app.AppCompatActivity;
public startActivity: androidx.appcompat.app.AppCompatActivity;
public packageName: string;
// we are using these property to store the callbacks to avoid early GC collection which would trigger MarkReachableObjects
private callbacks: any = {};
Expand Down Expand Up @@ -235,7 +235,7 @@ global.__onLiveSync = function __onLiveSync(context?: ModuleContext) {
};

function initLifecycleCallbacks() {
const setThemeOnLaunch = profile("setThemeOnLaunch", (activity: android.support.v7.app.AppCompatActivity) => {
const setThemeOnLaunch = profile("setThemeOnLaunch", (activity: androidx.appcompat.app.AppCompatActivity) => {
// Set app theme after launch screen was used during startup
const activityInfo = activity.getPackageManager().getActivityInfo(activity.getComponentName(), android.content.pm.PackageManager.GET_META_DATA);
if (activityInfo.metaData) {
Expand All @@ -246,11 +246,11 @@ function initLifecycleCallbacks() {
}
});

const notifyActivityCreated = profile("notifyActivityCreated", function (activity: android.support.v7.app.AppCompatActivity, savedInstanceState: android.os.Bundle) {
const notifyActivityCreated = profile("notifyActivityCreated", function (activity: androidx.appcompat.app.AppCompatActivity, savedInstanceState: android.os.Bundle) {
androidApp.notify(<AndroidActivityBundleEventData>{ eventName: ActivityCreated, object: androidApp, activity, bundle: savedInstanceState });
});

const subscribeForGlobalLayout = profile("subscribeForGlobalLayout", function (activity: android.support.v7.app.AppCompatActivity) {
const subscribeForGlobalLayout = profile("subscribeForGlobalLayout", function (activity: androidx.appcompat.app.AppCompatActivity) {
const rootView = activity.getWindow().getDecorView().getRootView();
// store the listener not to trigger GC collection before collecting the method
this.onGlobalLayoutListener = new android.view.ViewTreeObserver.OnGlobalLayoutListener({
Expand All @@ -264,7 +264,7 @@ function initLifecycleCallbacks() {
});

const lifecycleCallbacks = new android.app.Application.ActivityLifecycleCallbacks({
onActivityCreated: profile("onActivityCreated", function (activity: android.support.v7.app.AppCompatActivity, savedInstanceState: android.os.Bundle) {
onActivityCreated: profile("onActivityCreated", function (activity: androidx.appcompat.app.AppCompatActivity, savedInstanceState: android.os.Bundle) {
setThemeOnLaunch(activity);

if (!androidApp.startActivity) {
Expand All @@ -278,7 +278,7 @@ function initLifecycleCallbacks() {
}
}),

onActivityDestroyed: profile("onActivityDestroyed", function (activity: android.support.v7.app.AppCompatActivity) {
onActivityDestroyed: profile("onActivityDestroyed", function (activity: androidx.appcompat.app.AppCompatActivity) {
if (activity === androidApp.foregroundActivity) {
androidApp.foregroundActivity = undefined;
}
Expand All @@ -292,7 +292,7 @@ function initLifecycleCallbacks() {
gc();
}),

onActivityPaused: profile("onActivityPaused", function (activity: android.support.v7.app.AppCompatActivity) {
onActivityPaused: profile("onActivityPaused", function (activity: androidx.appcompat.app.AppCompatActivity) {
if ((<any>activity).isNativeScriptActivity) {
androidApp.paused = true;
notify(<ApplicationEventData>{ eventName: suspendEvent, object: androidApp, android: activity });
Expand All @@ -301,21 +301,21 @@ function initLifecycleCallbacks() {
androidApp.notify(<AndroidActivityEventData>{ eventName: ActivityPaused, object: androidApp, activity: activity });
}),

onActivityResumed: profile("onActivityResumed", function (activity: android.support.v7.app.AppCompatActivity) {
onActivityResumed: profile("onActivityResumed", function (activity: androidx.appcompat.app.AppCompatActivity) {
androidApp.foregroundActivity = activity;

androidApp.notify(<AndroidActivityEventData>{ eventName: ActivityResumed, object: androidApp, activity: activity });
}),

onActivitySaveInstanceState: profile("onActivitySaveInstanceState", function (activity: android.support.v7.app.AppCompatActivity, outState: android.os.Bundle) {
onActivitySaveInstanceState: profile("onActivitySaveInstanceState", function (activity: androidx.appcompat.app.AppCompatActivity, outState: android.os.Bundle) {
androidApp.notify(<AndroidActivityBundleEventData>{ eventName: SaveActivityState, object: androidApp, activity: activity, bundle: outState });
}),

onActivityStarted: profile("onActivityStarted", function (activity: android.support.v7.app.AppCompatActivity) {
onActivityStarted: profile("onActivityStarted", function (activity: androidx.appcompat.app.AppCompatActivity) {
androidApp.notify(<AndroidActivityEventData>{ eventName: ActivityStarted, object: androidApp, activity: activity });
}),

onActivityStopped: profile("onActivityStopped", function (activity: android.support.v7.app.AppCompatActivity) {
onActivityStopped: profile("onActivityStopped", function (activity: androidx.appcompat.app.AppCompatActivity) {
androidApp.notify(<AndroidActivityEventData>{ eventName: ActivityStopped, object: androidApp, activity: activity });
})
});
Expand Down
6 changes: 3 additions & 3 deletions tns-core-modules/application/application.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,7 @@ export interface AndroidActivityEventData {
/**
* The activity.
*/
activity: any /* android.support.v7.app.AppCompatActivity */;
activity: any /* androidx.appcompat.app.AppCompatActivity */;

/**
* The name of the event.
Expand Down Expand Up @@ -408,7 +408,7 @@ export class AndroidApplication extends Observable {
/**
* The currently active (loaded) [android Activity](http://developer.android.com/reference/android/app/Activity.html). This property is automatically updated upon Activity events.
*/
foregroundActivity: any /* android.support.v7.app.AppCompatActivity */;
foregroundActivity: any /* androidx.appcompat.app.AppCompatActivity */;

/**
* @deprecated use startActivity, foregroundActivity or context instead
Expand All @@ -418,7 +418,7 @@ export class AndroidApplication extends Observable {
/**
* The main (start) Activity for the application.
*/
startActivity: any /* android.support.v7.app.AppCompatActivity */;
startActivity: any /* androidx.appcompat.app.AppCompatActivity */;

/**
* The name of the application package.
Expand Down
4 changes: 2 additions & 2 deletions tns-core-modules/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@
"license": "Apache-2.0",
"typings": "tns-core-modules.d.ts",
"dependencies": {
"tns-core-modules-widgets": "next",
"tns-core-modules-widgets": "androidx",
"tslib": "^1.9.3"
},
"devDependencies": {
"@types/node": "~7.0.5",
"tns-platform-declarations": "*"
"tns-platform-declarations": "androidx"
},
"scripts": {
"version": "conventional-changelog -p angular -i ../CHANGELOG.md -s && git add ../CHANGELOG.md"
Expand Down
Loading