diff --git a/.travis.yml b/.travis.yml index aa3440c..6386797 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,10 +4,15 @@ android: components: - tools - platform-tools - - build-tools-28.0.3 - - android-28 + - build-tools-30.0.3 + - android-30 - android-22 - sys-img-armeabi-v7a-android-22 + licenses: + - 'android-sdk-license-.+' + +before_install: + - yes | sdkmanager "platforms;android-30" # Emulator Management: Create, Start and Wait before_script: diff --git a/bridge/build.gradle b/bridge/build.gradle index 93e25d1..54cc414 100644 --- a/bridge/build.gradle +++ b/bridge/build.gradle @@ -1,11 +1,11 @@ apply plugin: 'com.android.library' android { - compileSdkVersion 28 - buildToolsVersion "28.0.3" + compileSdkVersion 30 + buildToolsVersion "30.0.3" defaultConfig { minSdkVersion 14 - targetSdkVersion 28 + targetSdkVersion 30 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { @@ -18,10 +18,10 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation 'com.android.support:appcompat-v7:28.0.0' + implementation 'androidx.annotation:annotation:1.1.0' - androidTestImplementation 'androidx.test:runner:1.2.0' - androidTestImplementation 'androidx.test.ext:junit:1.1.1' + androidTestImplementation 'androidx.test:runner:1.3.0' + androidTestImplementation 'androidx.test.ext:junit:1.1.2' } // build a jar with source files diff --git a/bridge/src/androidTest/java/com/livefront/bridge/BridgeTest.java b/bridge/src/androidTest/java/com/livefront/bridge/BridgeTest.java index 4583821..8d0913a 100644 --- a/bridge/src/androidTest/java/com/livefront/bridge/BridgeTest.java +++ b/bridge/src/androidTest/java/com/livefront/bridge/BridgeTest.java @@ -5,9 +5,9 @@ import static org.junit.Assert.assertTrue; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.test.platform.app.InstrumentationRegistry; import com.livefront.bridge.helper.Data; diff --git a/bridge/src/androidTest/java/com/livefront/bridge/helper/Data.java b/bridge/src/androidTest/java/com/livefront/bridge/helper/Data.java index 021cceb..ab4efa0 100644 --- a/bridge/src/androidTest/java/com/livefront/bridge/helper/Data.java +++ b/bridge/src/androidTest/java/com/livefront/bridge/helper/Data.java @@ -2,7 +2,8 @@ import android.os.Parcel; import android.os.Parcelable; -import android.support.annotation.NonNull; + +import androidx.annotation.NonNull; import java.util.Objects; diff --git a/bridge/src/androidTest/java/com/livefront/bridge/helper/SampleTarget.java b/bridge/src/androidTest/java/com/livefront/bridge/helper/SampleTarget.java index 5223a31..fffe94a 100644 --- a/bridge/src/androidTest/java/com/livefront/bridge/helper/SampleTarget.java +++ b/bridge/src/androidTest/java/com/livefront/bridge/helper/SampleTarget.java @@ -1,8 +1,9 @@ package com.livefront.bridge.helper; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import java.util.Objects; diff --git a/bridge/src/androidTest/java/com/livefront/bridge/helper/Saveable.java b/bridge/src/androidTest/java/com/livefront/bridge/helper/Saveable.java index c6c8620..e4350e8 100644 --- a/bridge/src/androidTest/java/com/livefront/bridge/helper/Saveable.java +++ b/bridge/src/androidTest/java/com/livefront/bridge/helper/Saveable.java @@ -1,8 +1,9 @@ package com.livefront.bridge.helper; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; /** * Simple interface that can be implemented by test classes and checked inside a diff --git a/bridge/src/main/java/com/livefront/bridge/ActivityLifecycleCallbacksAdapter.java b/bridge/src/main/java/com/livefront/bridge/ActivityLifecycleCallbacksAdapter.java index a2cfc15..2a2aa13 100644 --- a/bridge/src/main/java/com/livefront/bridge/ActivityLifecycleCallbacksAdapter.java +++ b/bridge/src/main/java/com/livefront/bridge/ActivityLifecycleCallbacksAdapter.java @@ -2,9 +2,7 @@ import android.app.Activity; import android.app.Application.ActivityLifecycleCallbacks; -import android.os.Build; import android.os.Bundle; -import android.support.annotation.RequiresApi; abstract class ActivityLifecycleCallbacksAdapter implements ActivityLifecycleCallbacks { diff --git a/bridge/src/main/java/com/livefront/bridge/Bridge.java b/bridge/src/main/java/com/livefront/bridge/Bridge.java index 0dee69d..ec8e92a 100644 --- a/bridge/src/main/java/com/livefront/bridge/Bridge.java +++ b/bridge/src/main/java/com/livefront/bridge/Bridge.java @@ -4,10 +4,11 @@ import android.os.Build.VERSION_CODES; import android.os.Bundle; import android.os.Parcelable; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; import android.view.View; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + public class Bridge { private static volatile BridgeDelegate sDelegate; diff --git a/bridge/src/main/java/com/livefront/bridge/BridgeDelegate.java b/bridge/src/main/java/com/livefront/bridge/BridgeDelegate.java index a0f5519..a996b83 100644 --- a/bridge/src/main/java/com/livefront/bridge/BridgeDelegate.java +++ b/bridge/src/main/java/com/livefront/bridge/BridgeDelegate.java @@ -9,10 +9,11 @@ import android.os.Build; import android.os.Bundle; import android.os.Parcelable; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; import android.view.View; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + import com.livefront.bridge.disk.DiskHandler; import com.livefront.bridge.disk.FileDiskHandler; import com.livefront.bridge.util.BundleUtil; diff --git a/bridge/src/main/java/com/livefront/bridge/NoOpSavedStateHandler.java b/bridge/src/main/java/com/livefront/bridge/NoOpSavedStateHandler.java index d1406ec..0d20d4f 100644 --- a/bridge/src/main/java/com/livefront/bridge/NoOpSavedStateHandler.java +++ b/bridge/src/main/java/com/livefront/bridge/NoOpSavedStateHandler.java @@ -1,8 +1,9 @@ package com.livefront.bridge; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; class NoOpSavedStateHandler implements SavedStateHandler { diff --git a/bridge/src/main/java/com/livefront/bridge/SavedStateHandler.java b/bridge/src/main/java/com/livefront/bridge/SavedStateHandler.java index c964ec9..77689fe 100644 --- a/bridge/src/main/java/com/livefront/bridge/SavedStateHandler.java +++ b/bridge/src/main/java/com/livefront/bridge/SavedStateHandler.java @@ -1,8 +1,9 @@ package com.livefront.bridge; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; /** * A handler for generic, non-{@link android.view.View} objects. To save the state of Views, see diff --git a/bridge/src/main/java/com/livefront/bridge/ViewSavedStateHandler.java b/bridge/src/main/java/com/livefront/bridge/ViewSavedStateHandler.java index 764aea6..56122e8 100644 --- a/bridge/src/main/java/com/livefront/bridge/ViewSavedStateHandler.java +++ b/bridge/src/main/java/com/livefront/bridge/ViewSavedStateHandler.java @@ -1,10 +1,11 @@ package com.livefront.bridge; import android.os.Parcelable; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; import android.view.View; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + /** * A handler specifically for saving and restoring the state of {@link android.view.View} objects. */ diff --git a/bridge/src/main/java/com/livefront/bridge/disk/DiskHandler.java b/bridge/src/main/java/com/livefront/bridge/disk/DiskHandler.java index bc57c9a..5998542 100644 --- a/bridge/src/main/java/com/livefront/bridge/disk/DiskHandler.java +++ b/bridge/src/main/java/com/livefront/bridge/disk/DiskHandler.java @@ -1,7 +1,7 @@ package com.livefront.bridge.disk; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; /** * A simple interface for managing the storage and retrieval of data to and from disk. All calls diff --git a/bridge/src/main/java/com/livefront/bridge/disk/FileDiskHandler.java b/bridge/src/main/java/com/livefront/bridge/disk/FileDiskHandler.java index bd695db..e1d7573 100644 --- a/bridge/src/main/java/com/livefront/bridge/disk/FileDiskHandler.java +++ b/bridge/src/main/java/com/livefront/bridge/disk/FileDiskHandler.java @@ -1,8 +1,9 @@ package com.livefront.bridge.disk; import android.content.Context; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import java.io.File; import java.io.FileInputStream; diff --git a/bridge/src/main/java/com/livefront/bridge/util/BundleUtil.java b/bridge/src/main/java/com/livefront/bridge/util/BundleUtil.java index 4226221..6f31d38 100644 --- a/bridge/src/main/java/com/livefront/bridge/util/BundleUtil.java +++ b/bridge/src/main/java/com/livefront/bridge/util/BundleUtil.java @@ -2,9 +2,10 @@ import android.os.Bundle; import android.os.Parcel; -import android.support.annotation.NonNull; import android.util.Base64; +import androidx.annotation.NonNull; + /** * Helper class for converting {@link Bundle} instances to and from bytes and encoded Strings. */ diff --git a/bridge/src/main/java/com/livefront/bridge/wrapper/BitmapWrapper.java b/bridge/src/main/java/com/livefront/bridge/wrapper/BitmapWrapper.java index 57e52ee..f1d3d64 100644 --- a/bridge/src/main/java/com/livefront/bridge/wrapper/BitmapWrapper.java +++ b/bridge/src/main/java/com/livefront/bridge/wrapper/BitmapWrapper.java @@ -3,7 +3,8 @@ import android.graphics.Bitmap; import android.os.Parcel; import android.os.Parcelable; -import android.support.annotation.NonNull; + +import androidx.annotation.NonNull; import java.nio.ByteBuffer; diff --git a/bridge/src/main/java/com/livefront/bridge/wrapper/WrapperUtils.java b/bridge/src/main/java/com/livefront/bridge/wrapper/WrapperUtils.java index ae89a55..fa02779 100644 --- a/bridge/src/main/java/com/livefront/bridge/wrapper/WrapperUtils.java +++ b/bridge/src/main/java/com/livefront/bridge/wrapper/WrapperUtils.java @@ -3,7 +3,8 @@ import android.graphics.Bitmap; import android.os.Bundle; import android.os.Parcel; -import android.support.annotation.NonNull; + +import androidx.annotation.NonNull; import java.util.Set; diff --git a/bridgesample/build.gradle b/bridgesample/build.gradle index db2bffa..e72cb94 100644 --- a/bridgesample/build.gradle +++ b/bridgesample/build.gradle @@ -4,11 +4,11 @@ apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' android { - compileSdkVersion 28 + compileSdkVersion 30 defaultConfig { applicationId "com.livefront.bridgesample" minSdkVersion 21 - targetSdkVersion 28 + targetSdkVersion 30 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -26,8 +26,7 @@ androidExtensions { experimental = true } -def stateSaverVersion = "1.3.1" -def supportLibraryVersion = '28.0.0' +def stateSaverVersion = "1.4.1" dependencies { // Kotlin @@ -40,14 +39,17 @@ dependencies { implementation "com.evernote:android-state:$stateSaverVersion" kapt "com.evernote:android-state-processor:$stateSaverVersion" - // Support Library - implementation "com.android.support:appcompat-v7:$supportLibraryVersion" - implementation "com.android.support:design:$supportLibraryVersion" - implementation "com.android.support:recyclerview-v7:$supportLibraryVersion" + // AndroidX + implementation 'androidx.appcompat:appcompat:1.2.0' + implementation 'androidx.fragment:fragment:1.3.1' + implementation 'androidx.recyclerview:recyclerview:1.1.0' - androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.3' - androidTestImplementation 'androidx.test:runner:1.2.0' - androidTestImplementation 'androidx.test.ext:junit:1.1.1' - androidTestImplementation 'androidx.test.ext:junit-ktx:1.1.1' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' + // Material + implementation 'com.google.android.material:material:1.3.0' + + androidTestImplementation 'androidx.test:runner:1.3.0' + androidTestImplementation 'androidx.test.ext:junit:1.1.2' + androidTestImplementation 'androidx.test.ext:junit-ktx:1.1.2' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' + androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0' } diff --git a/bridgesample/src/androidTest/java/com/livefront/bridgesample/scenario/activity/LargeDataActivityTest.kt b/bridgesample/src/androidTest/java/com/livefront/bridgesample/scenario/activity/LargeDataActivityTest.kt index 7f89e15..1e43439 100644 --- a/bridgesample/src/androidTest/java/com/livefront/bridgesample/scenario/activity/LargeDataActivityTest.kt +++ b/bridgesample/src/androidTest/java/com/livefront/bridgesample/scenario/activity/LargeDataActivityTest.kt @@ -1,18 +1,17 @@ package com.livefront.bridgesample.scenario.activity import android.graphics.Bitmap -import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.espresso.Espresso.onView import androidx.test.espresso.Espresso.pressBack import androidx.test.espresso.action.ViewActions.click import androidx.test.espresso.matcher.ViewMatchers.withId import androidx.test.ext.junit.rules.ActivityScenarioRule +import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.platform.app.InstrumentationRegistry import com.livefront.bridgesample.R import com.livefront.bridgesample.util.getCurrentActivity import org.junit.Assert.assertTrue import org.junit.Rule - import org.junit.Test import org.junit.runner.RunWith diff --git a/bridgesample/src/androidTest/java/com/livefront/bridgesample/scenario/activity/LargeDataBackstackActivityTest.kt b/bridgesample/src/androidTest/java/com/livefront/bridgesample/scenario/activity/LargeDataBackstackActivityTest.kt index 166a355..b686468 100644 --- a/bridgesample/src/androidTest/java/com/livefront/bridgesample/scenario/activity/LargeDataBackstackActivityTest.kt +++ b/bridgesample/src/androidTest/java/com/livefront/bridgesample/scenario/activity/LargeDataBackstackActivityTest.kt @@ -1,7 +1,6 @@ package com.livefront.bridgesample.scenario.activity import android.graphics.Bitmap -import android.support.test.uiautomator.UiDevice import androidx.test.espresso.Espresso.onView import androidx.test.espresso.Espresso.pressBack import androidx.test.espresso.action.ViewActions.click @@ -9,6 +8,7 @@ import androidx.test.espresso.matcher.ViewMatchers.withId import androidx.test.ext.junit.rules.ActivityScenarioRule import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.uiautomator.UiDevice import com.livefront.bridgesample.R import com.livefront.bridgesample.util.getCurrentActivity import org.junit.Assert.assertTrue diff --git a/bridgesample/src/main/java/com/livefront/bridgesample/base/BridgeBaseActivity.kt b/bridgesample/src/main/java/com/livefront/bridgesample/base/BridgeBaseActivity.kt index 4a86cde..908ffde 100644 --- a/bridgesample/src/main/java/com/livefront/bridgesample/base/BridgeBaseActivity.kt +++ b/bridgesample/src/main/java/com/livefront/bridgesample/base/BridgeBaseActivity.kt @@ -1,7 +1,7 @@ package com.livefront.bridgesample.base import android.os.Bundle -import android.support.v7.app.AppCompatActivity +import androidx.appcompat.app.AppCompatActivity import com.livefront.bridge.Bridge abstract class BridgeBaseActivity : AppCompatActivity() { diff --git a/bridgesample/src/main/java/com/livefront/bridgesample/base/BridgeBaseFragment.kt b/bridgesample/src/main/java/com/livefront/bridgesample/base/BridgeBaseFragment.kt index 08732fd..17143c1 100644 --- a/bridgesample/src/main/java/com/livefront/bridgesample/base/BridgeBaseFragment.kt +++ b/bridgesample/src/main/java/com/livefront/bridgesample/base/BridgeBaseFragment.kt @@ -1,8 +1,8 @@ package com.livefront.bridgesample.base import android.os.Bundle -import android.support.v4.app.Fragment -import android.support.v4.app.FragmentStatePagerAdapter +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentStatePagerAdapter import com.livefront.bridge.Bridge abstract class BridgeBaseFragment : Fragment() { diff --git a/bridgesample/src/main/java/com/livefront/bridgesample/base/NonBridgeBaseActivity.kt b/bridgesample/src/main/java/com/livefront/bridgesample/base/NonBridgeBaseActivity.kt index 0e3d176..a1aa94c 100644 --- a/bridgesample/src/main/java/com/livefront/bridgesample/base/NonBridgeBaseActivity.kt +++ b/bridgesample/src/main/java/com/livefront/bridgesample/base/NonBridgeBaseActivity.kt @@ -1,7 +1,7 @@ package com.livefront.bridgesample.base import android.os.Bundle -import android.support.v7.app.AppCompatActivity +import androidx.appcompat.app.AppCompatActivity import com.evernote.android.state.StateSaver abstract class NonBridgeBaseActivity : AppCompatActivity() { diff --git a/bridgesample/src/main/java/com/livefront/bridgesample/base/NonBridgeBaseFragment.kt b/bridgesample/src/main/java/com/livefront/bridgesample/base/NonBridgeBaseFragment.kt index d3a4f32..7710496 100644 --- a/bridgesample/src/main/java/com/livefront/bridgesample/base/NonBridgeBaseFragment.kt +++ b/bridgesample/src/main/java/com/livefront/bridgesample/base/NonBridgeBaseFragment.kt @@ -1,7 +1,7 @@ package com.livefront.bridgesample.base import android.os.Bundle -import android.support.v4.app.Fragment +import androidx.fragment.app.Fragment import com.evernote.android.state.StateSaver open class NonBridgeBaseFragment : Fragment() { diff --git a/bridgesample/src/main/java/com/livefront/bridgesample/common/view/BitmapGeneratorView.kt b/bridgesample/src/main/java/com/livefront/bridgesample/common/view/BitmapGeneratorView.kt index ae6e563..1ab66ef 100644 --- a/bridgesample/src/main/java/com/livefront/bridgesample/common/view/BitmapGeneratorView.kt +++ b/bridgesample/src/main/java/com/livefront/bridgesample/common/view/BitmapGeneratorView.kt @@ -4,9 +4,9 @@ import android.app.Activity import android.content.Context import android.content.Intent import android.graphics.Bitmap -import android.support.annotation.StringRes import android.util.AttributeSet import android.widget.RelativeLayout +import androidx.annotation.StringRes import com.livefront.bridgesample.R import com.livefront.bridgesample.scenario.activity.SuccessActivity import com.livefront.bridgesample.util.generateNoisyStripedBitmap diff --git a/bridgesample/src/main/java/com/livefront/bridgesample/main/adapter/MainAdapter.kt b/bridgesample/src/main/java/com/livefront/bridgesample/main/adapter/MainAdapter.kt index aec9d90..73dfa9b 100644 --- a/bridgesample/src/main/java/com/livefront/bridgesample/main/adapter/MainAdapter.kt +++ b/bridgesample/src/main/java/com/livefront/bridgesample/main/adapter/MainAdapter.kt @@ -1,7 +1,7 @@ package com.livefront.bridgesample.main.adapter -import android.support.v7.widget.RecyclerView import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView import com.livefront.bridgesample.R import com.livefront.bridgesample.main.adapter.MainAdapter.MainViewHolder import com.livefront.bridgesample.main.model.MainItem diff --git a/bridgesample/src/main/java/com/livefront/bridgesample/main/model/MainItem.kt b/bridgesample/src/main/java/com/livefront/bridgesample/main/model/MainItem.kt index 2c3374b..2a3381c 100644 --- a/bridgesample/src/main/java/com/livefront/bridgesample/main/model/MainItem.kt +++ b/bridgesample/src/main/java/com/livefront/bridgesample/main/model/MainItem.kt @@ -2,7 +2,7 @@ package com.livefront.bridgesample.main.model import android.content.Intent import android.os.Parcelable -import android.support.annotation.StringRes +import androidx.annotation.StringRes import kotlinx.android.parcel.Parcelize @Parcelize diff --git a/bridgesample/src/main/java/com/livefront/bridgesample/main/view/MainItemView.kt b/bridgesample/src/main/java/com/livefront/bridgesample/main/view/MainItemView.kt index 915374e..ac63214 100644 --- a/bridgesample/src/main/java/com/livefront/bridgesample/main/view/MainItemView.kt +++ b/bridgesample/src/main/java/com/livefront/bridgesample/main/view/MainItemView.kt @@ -1,9 +1,9 @@ package com.livefront.bridgesample.main.view import android.content.Context -import android.support.annotation.DrawableRes import android.util.AttributeSet import android.widget.RelativeLayout +import androidx.annotation.DrawableRes import com.livefront.bridgesample.R import com.livefront.bridgesample.util.layoutInflater import kotlinx.android.synthetic.main.view_main_item_content.view.descriptionView diff --git a/bridgesample/src/main/java/com/livefront/bridgesample/scenario/activity/DeeplinkActivity.kt b/bridgesample/src/main/java/com/livefront/bridgesample/scenario/activity/DeeplinkActivity.kt index 98f298c..a695844 100644 --- a/bridgesample/src/main/java/com/livefront/bridgesample/scenario/activity/DeeplinkActivity.kt +++ b/bridgesample/src/main/java/com/livefront/bridgesample/scenario/activity/DeeplinkActivity.kt @@ -2,7 +2,7 @@ package com.livefront.bridgesample.scenario.activity import android.content.Intent import android.os.Bundle -import android.support.v7.app.AppCompatActivity +import androidx.appcompat.app.AppCompatActivity class DeeplinkActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { diff --git a/bridgesample/src/main/java/com/livefront/bridgesample/scenario/activity/FragmentContainerActivity.kt b/bridgesample/src/main/java/com/livefront/bridgesample/scenario/activity/FragmentContainerActivity.kt index a62aca8..3ba66dd 100644 --- a/bridgesample/src/main/java/com/livefront/bridgesample/scenario/activity/FragmentContainerActivity.kt +++ b/bridgesample/src/main/java/com/livefront/bridgesample/scenario/activity/FragmentContainerActivity.kt @@ -5,10 +5,10 @@ import android.content.Context import android.content.Intent import android.os.Bundle import android.os.Parcelable -import android.support.annotation.StringRes -import android.support.v4.app.Fragment -import android.support.v4.app.FragmentTransaction import android.view.MenuItem +import androidx.annotation.StringRes +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentTransaction import com.livefront.bridgesample.R import com.livefront.bridgesample.base.BridgeBaseActivity import com.livefront.bridgesample.scenario.activity.FragmentContainerActivity.Companion.getNavigationIntent @@ -62,7 +62,7 @@ class FragmentContainerActivity : BridgeBaseActivity(), FragmentNavigationManage activity: FragmentContainerActivity ): FragmentData = activity .intent - .getParcelableExtra(FRAGMENT_DATA_KEY) + .getParcelableExtra(FRAGMENT_DATA_KEY)!! fun getNavigationIntent( context: Context, diff --git a/bridgesample/src/main/java/com/livefront/bridgesample/scenario/activity/LargeDataActivity.kt b/bridgesample/src/main/java/com/livefront/bridgesample/scenario/activity/LargeDataActivity.kt index 212488b..d0a10ca 100644 --- a/bridgesample/src/main/java/com/livefront/bridgesample/scenario/activity/LargeDataActivity.kt +++ b/bridgesample/src/main/java/com/livefront/bridgesample/scenario/activity/LargeDataActivity.kt @@ -52,7 +52,7 @@ class LargeDataActivity : BridgeBaseActivity() { activity: LargeDataActivity ): LargeDataActivityArguments = activity .intent - .getParcelableExtra(ARGUMENTS_KEY) + .getParcelableExtra(ARGUMENTS_KEY)!! fun getNavigationIntent( context: Context, diff --git a/bridgesample/src/main/java/com/livefront/bridgesample/scenario/activity/NonBridgeLargeDataActivity.kt b/bridgesample/src/main/java/com/livefront/bridgesample/scenario/activity/NonBridgeLargeDataActivity.kt index f07f746..d82995b 100644 --- a/bridgesample/src/main/java/com/livefront/bridgesample/scenario/activity/NonBridgeLargeDataActivity.kt +++ b/bridgesample/src/main/java/com/livefront/bridgesample/scenario/activity/NonBridgeLargeDataActivity.kt @@ -52,7 +52,7 @@ class NonBridgeLargeDataActivity : NonBridgeBaseActivity() { activity: NonBridgeLargeDataActivity ): NonBridgeLargeDataActivityArguments = activity .intent - .getParcelableExtra(ARGUMENTS_KEY) + .getParcelableExtra(ARGUMENTS_KEY)!! fun getNavigationIntent( diff --git a/bridgesample/src/main/java/com/livefront/bridgesample/scenario/activity/ViewContainerActivity.kt b/bridgesample/src/main/java/com/livefront/bridgesample/scenario/activity/ViewContainerActivity.kt index 3d05183..10f668b 100644 --- a/bridgesample/src/main/java/com/livefront/bridgesample/scenario/activity/ViewContainerActivity.kt +++ b/bridgesample/src/main/java/com/livefront/bridgesample/scenario/activity/ViewContainerActivity.kt @@ -5,11 +5,11 @@ import android.content.Context import android.content.Intent import android.os.Bundle import android.os.Parcelable -import android.support.annotation.LayoutRes -import android.support.annotation.StringRes -import android.support.v4.app.Fragment import android.view.MenuItem import android.view.View +import androidx.annotation.LayoutRes +import androidx.annotation.StringRes +import androidx.fragment.app.Fragment import com.livefront.bridgesample.R import com.livefront.bridgesample.base.BridgeBaseActivity import com.livefront.bridgesample.scenario.activity.FragmentContainerActivity.Companion.getNavigationIntent @@ -55,7 +55,7 @@ class ViewContainerActivity : BridgeBaseActivity() { activity: ViewContainerActivity ): ViewData = activity .intent - .getParcelableExtra(DATA_KEY) + .getParcelableExtra(DATA_KEY)!! } } diff --git a/bridgesample/src/main/java/com/livefront/bridgesample/scenario/fragment/LargeDataFragment.kt b/bridgesample/src/main/java/com/livefront/bridgesample/scenario/fragment/LargeDataFragment.kt index d2d1530..6bc075c 100644 --- a/bridgesample/src/main/java/com/livefront/bridgesample/scenario/fragment/LargeDataFragment.kt +++ b/bridgesample/src/main/java/com/livefront/bridgesample/scenario/fragment/LargeDataFragment.kt @@ -24,7 +24,7 @@ class LargeDataFragment : BridgeBaseFragment() { private lateinit var fragmentNavigationManager: FragmentNavigationManager - override fun onAttach(context: Context?) { + override fun onAttach(context: Context) { super.onAttach(context) fragmentNavigationManager = context as FragmentNavigationManager } @@ -62,8 +62,8 @@ class LargeDataFragment : BridgeBaseFragment() { fun getArguments( fragment: LargeDataFragment ): LargeDataArguments = fragment - .arguments!! - .getParcelable(ARGUMENTS_KEY) + .requireArguments() + .getParcelable(ARGUMENTS_KEY)!! fun getFragmentData( largeDataArguments: LargeDataArguments = LargeDataArguments() diff --git a/bridgesample/src/main/java/com/livefront/bridgesample/scenario/fragment/NonBridgeLargeDataFragment.kt b/bridgesample/src/main/java/com/livefront/bridgesample/scenario/fragment/NonBridgeLargeDataFragment.kt index cd184b4..2a5e140 100644 --- a/bridgesample/src/main/java/com/livefront/bridgesample/scenario/fragment/NonBridgeLargeDataFragment.kt +++ b/bridgesample/src/main/java/com/livefront/bridgesample/scenario/fragment/NonBridgeLargeDataFragment.kt @@ -21,7 +21,7 @@ class NonBridgeLargeDataFragment : NonBridgeBaseFragment() { private lateinit var fragmentNavigationManager: FragmentNavigationManager - override fun onAttach(context: Context?) { + override fun onAttach(context: Context) { super.onAttach(context) fragmentNavigationManager = context as FragmentNavigationManager } @@ -56,8 +56,8 @@ class NonBridgeLargeDataFragment : NonBridgeBaseFragment() { fun getArguments( fragment: NonBridgeLargeDataFragment ): NonBridgeLargeDataArguments = fragment - .arguments!! - .getParcelable(ARGUMENTS_KEY) + .requireArguments() + .getParcelable(ARGUMENTS_KEY)!! fun getFragmentData( nonBridgeLargeDataArguments: NonBridgeLargeDataArguments = NonBridgeLargeDataArguments() diff --git a/bridgesample/src/main/java/com/livefront/bridgesample/scenario/fragment/StatePagerFragment.kt b/bridgesample/src/main/java/com/livefront/bridgesample/scenario/fragment/StatePagerFragment.kt index 9d83d66..14c1c8d 100644 --- a/bridgesample/src/main/java/com/livefront/bridgesample/scenario/fragment/StatePagerFragment.kt +++ b/bridgesample/src/main/java/com/livefront/bridgesample/scenario/fragment/StatePagerFragment.kt @@ -2,12 +2,12 @@ package com.livefront.bridgesample.scenario.fragment import android.os.Bundle import android.os.Parcelable -import android.support.v4.app.Fragment -import android.support.v4.app.FragmentStatePagerAdapter -import android.support.v4.view.ViewPager import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentStatePagerAdapter +import androidx.viewpager.widget.ViewPager import com.livefront.bridge.Bridge import com.livefront.bridgesample.R import com.livefront.bridgesample.base.BridgeBaseFragment @@ -29,7 +29,10 @@ class StatePagerFragment : BridgeBaseFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - viewPager.adapter = object : FragmentStatePagerAdapter(childFragmentManager) { + viewPager.adapter = object : FragmentStatePagerAdapter( + childFragmentManager, + BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT + ) { override fun getItem( position: Int ): Fragment = when (getArguments(this@StatePagerFragment).mode) { @@ -57,8 +60,8 @@ class StatePagerFragment : BridgeBaseFragment() { fun getArguments( fragment: StatePagerFragment ): StatePagerArguments = fragment - .arguments!! - .getParcelable(ARGUMENTS_KEY) + .requireArguments() + .getParcelable(ARGUMENTS_KEY)!! fun getFragmentData(arguments: StatePagerArguments) = FragmentData( when (arguments.mode) { diff --git a/bridgesample/src/main/java/com/livefront/bridgesample/util/Activity.kt b/bridgesample/src/main/java/com/livefront/bridgesample/util/Activity.kt index 8a9aec2..2fa58ed 100644 --- a/bridgesample/src/main/java/com/livefront/bridgesample/util/Activity.kt +++ b/bridgesample/src/main/java/com/livefront/bridgesample/util/Activity.kt @@ -1,10 +1,10 @@ package com.livefront.bridgesample.util import android.app.Activity -import android.support.annotation.StringRes -import android.support.v7.app.AppCompatActivity -import android.support.v7.widget.Toolbar import android.view.MenuItem +import androidx.annotation.StringRes +import androidx.appcompat.app.AppCompatActivity +import androidx.appcompat.widget.Toolbar /** * Helper method for handling the standard "home as back press" behavior in diff --git a/bridgesample/src/main/java/com/livefront/bridgesample/util/FragmentNavigationManager.kt b/bridgesample/src/main/java/com/livefront/bridgesample/util/FragmentNavigationManager.kt index f328095..b50a1f4 100644 --- a/bridgesample/src/main/java/com/livefront/bridgesample/util/FragmentNavigationManager.kt +++ b/bridgesample/src/main/java/com/livefront/bridgesample/util/FragmentNavigationManager.kt @@ -1,6 +1,6 @@ package com.livefront.bridgesample.util -import android.support.v4.app.Fragment +import androidx.fragment.app.Fragment /** * Helper interface to provide fragment navigation. diff --git a/bridgesample/src/main/java/com/livefront/bridgesample/util/View.kt b/bridgesample/src/main/java/com/livefront/bridgesample/util/View.kt index fcc366e..e658c79 100644 --- a/bridgesample/src/main/java/com/livefront/bridgesample/util/View.kt +++ b/bridgesample/src/main/java/com/livefront/bridgesample/util/View.kt @@ -1,8 +1,8 @@ package com.livefront.bridgesample.util -import android.support.annotation.StringRes import android.view.LayoutInflater import android.view.View +import androidx.annotation.StringRes fun View.getString(@StringRes stringRes: Int): String = context.getString(stringRes) diff --git a/bridgesample/src/main/res/layout/activity_main.xml b/bridgesample/src/main/res/layout/activity_main.xml index bd2cda1..2da8c51 100644 --- a/bridgesample/src/main/res/layout/activity_main.xml +++ b/bridgesample/src/main/res/layout/activity_main.xml @@ -15,10 +15,10 @@ android:layout_width="match_parent" android:layout_height="wrap_content"/> - + app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" /> diff --git a/bridgesample/src/main/res/layout/basic_toolbar.xml b/bridgesample/src/main/res/layout/basic_toolbar.xml index 242d31a..8e757af 100644 --- a/bridgesample/src/main/res/layout/basic_toolbar.xml +++ b/bridgesample/src/main/res/layout/basic_toolbar.xml @@ -1,5 +1,5 @@ - - - - + diff --git a/build.gradle b/build.gradle index 495fff4..99cfe62 100644 --- a/build.gradle +++ b/build.gradle @@ -1,14 +1,14 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.3.21' + ext.kotlin_version = '1.4.31' repositories { jcenter() google() } dependencies { - classpath 'com.android.tools.build:gradle:3.4.1' + classpath 'com.android.tools.build:gradle:4.1.2' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/gradle.properties b/gradle.properties index aac7c9b..9cf3cdb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,6 +7,9 @@ # For more details on how to configure your build environment visit # http://www.gradle.org/docs/current/userguide/build_environment.html +android.enableJetifier=false +android.useAndroidX=true + # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. org.gradle.jvmargs=-Xmx1536m diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 3c44a35..8e0716c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed May 29 09:07:44 CDT 2019 +#Sun Mar 14 14:43:20 CDT 2021 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip