Skip to content

Commit cb90085

Browse files
committed
Migrated to AndroidX
1 parent afc0c02 commit cb90085

19 files changed

+80
-79
lines changed

build.gradle

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
buildscript {
22
repositories {
33
jcenter()
4+
google()
45
}
56
dependencies {
6-
classpath 'com.android.tools.build:gradle:2.3.3'
7-
classpath 'com.novoda:bintray-release:0.4.0'
7+
classpath 'com.android.tools.build:gradle:4.0.1'
88
}
99
}
1010

@@ -27,10 +27,15 @@ ext {
2727
publishVersion = '1.1.0'
2828
licences = ['Apache-2.0']
2929

30-
compileSdkVersion = 26
31-
buildToolsVersion = '26.0.1'
30+
compileSdkVersion = 29
31+
buildToolsVersion = '29.0.2'
3232
minSdkVersion = 16
33-
targetSdkVersion = 25
33+
targetSdkVersion = 29
3434

35-
supportLibVersion = '26.0.0'
35+
deps = [
36+
recycler : 'androidx.recyclerview:recyclerview:1.0.0',
37+
designSupport : 'com.google.android.material:material:1.0.0',
38+
annotations : 'androidx.annotation:annotation:1.1.0',
39+
androidxCompat: 'androidx.appcompat:appcompat:1.1.0',
40+
]
3641
}

gradle.properties

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,3 @@
1-
# Project-wide Gradle settings.
1+
android.useAndroidX=true
22

3-
# IDE (e.g. Android Studio) users:
4-
# Gradle settings configured through the IDE *will override*
5-
# any settings specified in this file.
6-
7-
# For more details on how to configure your build environment visit
8-
# http://www.gradle.org/docs/current/userguide/build_environment.html
9-
10-
# Specifies the JVM arguments used for the daemon process.
11-
# The setting is particularly useful for tweaking memory settings.
123
org.gradle.jvmargs=-Xmx1536m
13-
14-
# When configured, Gradle will run in incubating parallel mode.
15-
# This option should only be used with decoupled projects. More details, visit
16-
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
17-
# org.gradle.parallel=true
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Sun Sep 03 13:36:54 WIB 2017
1+
#Sat Aug 01 18:16:29 EEST 2020
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip

library/build.gradle

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
apply plugin: 'com.android.library'
2-
apply plugin: 'com.novoda.bintray-release'
32

43
android {
54
compileSdkVersion rootProject.ext.compileSdkVersion
@@ -12,15 +11,6 @@ android {
1211
}
1312

1413
dependencies {
15-
compile "com.android.support:appcompat-v7:$supportLibVersion"
16-
}
17-
18-
publish {
19-
artifactId = 'sliding-root-nav'
20-
userOrg = rootProject.userOrg
21-
groupId = rootProject.groupId
22-
uploadName = rootProject.uploadName
23-
publishVersion = rootProject.publishVersion
24-
description = rootProject.description
25-
licences = rootProject.licences
14+
implementation deps.annotations
15+
implementation deps.androidxCompat
2616
}

library/src/main/java/com/yarolegovich/slidingrootnav/SlideGravity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.yarolegovich.slidingrootnav;
22

3-
import android.support.v4.widget.ViewDragHelper;
3+
4+
import androidx.customview.widget.ViewDragHelper;
45

56
/**
67
* Created by yarolegovich on 25.03.2017.

library/src/main/java/com/yarolegovich/slidingrootnav/SlidingRootNavBuilder.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,16 @@
22

33
import android.app.Activity;
44
import android.os.Bundle;
5-
import android.support.annotation.FloatRange;
6-
import android.support.annotation.IntRange;
7-
import android.support.annotation.LayoutRes;
8-
import android.support.v7.app.ActionBarDrawerToggle;
9-
import android.support.v7.widget.Toolbar;
105
import android.view.LayoutInflater;
116
import android.view.View;
127
import android.view.ViewGroup;
138

9+
import androidx.annotation.FloatRange;
10+
import androidx.annotation.IntRange;
11+
import androidx.annotation.LayoutRes;
12+
import androidx.appcompat.app.ActionBarDrawerToggle;
13+
import androidx.appcompat.widget.Toolbar;
14+
1415
import com.yarolegovich.slidingrootnav.callback.DragListener;
1516
import com.yarolegovich.slidingrootnav.callback.DragStateListener;
1617
import com.yarolegovich.slidingrootnav.transform.CompositeTransformation;

library/src/main/java/com/yarolegovich/slidingrootnav/SlidingRootNavLayout.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
11
package com.yarolegovich.slidingrootnav;
22

3+
import android.annotation.SuppressLint;
34
import android.content.Context;
45
import android.graphics.Rect;
56
import android.os.Bundle;
67
import android.os.Parcelable;
7-
import android.support.v4.view.ViewCompat;
8-
import android.support.v4.widget.ViewDragHelper;
98
import android.view.MotionEvent;
109
import android.view.View;
1110
import android.view.ViewConfiguration;
1211
import android.widget.FrameLayout;
1312

13+
import androidx.annotation.NonNull;
14+
import androidx.core.view.ViewCompat;
15+
import androidx.customview.widget.ViewDragHelper;
16+
1417
import com.yarolegovich.slidingrootnav.callback.DragListener;
1518
import com.yarolegovich.slidingrootnav.callback.DragStateListener;
1619
import com.yarolegovich.slidingrootnav.transform.RootTransformation;
@@ -69,6 +72,7 @@ public boolean onInterceptTouchEvent(MotionEvent ev) {
6972
}
7073

7174
@Override
75+
@SuppressLint("ClickableViewAccessibility")
7276
public boolean onTouchEvent(MotionEvent event) {
7377
dragHelper.processTouchEvent(event);
7478
return true;
@@ -199,9 +203,7 @@ private boolean shouldBlockClick(MotionEvent event) {
199203
}
200204
if (rootView != null && isMenuOpened()) {
201205
rootView.getHitRect(tempRect);
202-
if (tempRect.contains((int) event.getX(), (int) event.getY())) {
203-
return true;
204-
}
206+
return tempRect.contains((int) event.getX(), (int) event.getY());
205207
}
206208
return false;
207209
}
@@ -251,7 +253,7 @@ private class ViewDragCallback extends ViewDragHelper.Callback {
251253
private boolean edgeTouched;
252254

253255
@Override
254-
public boolean tryCaptureView(View child, int pointerId) {
256+
public boolean tryCaptureView(@NonNull View child, int pointerId) {
255257
if (isMenuLocked) {
256258
return false;
257259
}
@@ -269,15 +271,15 @@ public boolean tryCaptureView(View child, int pointerId) {
269271
}
270272

271273
@Override
272-
public void onViewPositionChanged(View changedView, int left, int top, int dx, int dy) {
274+
public void onViewPositionChanged(@NonNull View changedView, int left, int top, int dx, int dy) {
273275
dragProgress = positionHelper.getDragProgress(left, maxDragDistance);
274276
rootTransformation.transform(dragProgress, rootView);
275277
notifyDrag();
276278
invalidate();
277279
}
278280

279281
@Override
280-
public void onViewReleased(View releasedChild, float xvel, float yvel) {
282+
public void onViewReleased(@NonNull View releasedChild, float xvel, float yvel) {
281283
int left = Math.abs(xvel) < FLING_MIN_VELOCITY ?
282284
positionHelper.getLeftToSettle(dragProgress, maxDragDistance) :
283285
positionHelper.getLeftAfterFling(xvel, maxDragDistance);
@@ -302,12 +304,12 @@ public void onEdgeTouched(int edgeFlags, int pointerId) {
302304
}
303305

304306
@Override
305-
public int getViewHorizontalDragRange(View child) {
307+
public int getViewHorizontalDragRange(@NonNull View child) {
306308
return child == rootView ? maxDragDistance : 0;
307309
}
308310

309311
@Override
310-
public int clampViewPositionHorizontal(View child, int left, int dx) {
312+
public int clampViewPositionHorizontal(@NonNull View child, int left, int dx) {
311313
return positionHelper.clampViewPosition(left, maxDragDistance);
312314
}
313315
}

library/src/main/java/com/yarolegovich/slidingrootnav/util/ActionBarToggleAdapter.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
package com.yarolegovich.slidingrootnav.util;
22

33
import android.content.Context;
4-
import android.support.v4.widget.DrawerLayout;
4+
5+
import androidx.drawerlayout.widget.DrawerLayout;
56

67
import com.yarolegovich.slidingrootnav.SlidingRootNavLayout;
78

library/src/main/java/com/yarolegovich/slidingrootnav/util/DrawerListenerAdapter.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
package com.yarolegovich.slidingrootnav.util;
22

3-
import android.support.v4.widget.DrawerLayout;
43
import android.view.View;
54

5+
import androidx.drawerlayout.widget.DrawerLayout;
6+
67
import com.yarolegovich.slidingrootnav.callback.DragListener;
78
import com.yarolegovich.slidingrootnav.callback.DragStateListener;
89

library/src/main/java/com/yarolegovich/slidingrootnav/util/HiddenMenuClickConsumer.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.yarolegovich.slidingrootnav.util;
22

3+
import android.annotation.SuppressLint;
34
import android.content.Context;
45
import android.view.MotionEvent;
56
import android.view.View;
@@ -19,6 +20,7 @@ public HiddenMenuClickConsumer(Context context) {
1920
}
2021

2122
@Override
23+
@SuppressLint("ClickableViewAccessibility")
2224
public boolean onTouchEvent(MotionEvent event) {
2325
return menuHost.isMenuClosed();
2426
}

sample/build.gradle

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,10 @@ android {
2020
}
2121

2222
dependencies {
23-
compile "com.android.support:appcompat-v7:$supportLibVersion"
24-
compile "com.android.support:design:$supportLibVersion"
25-
compile "com.android.support:recyclerview-v7:$supportLibVersion"
23+
implementation deps.annotations
24+
implementation deps.androidxCompat
25+
implementation deps.designSupport
26+
implementation deps.recycler
2627

27-
compile project(':library')
28+
implementation project(':library')
2829
}

sample/src/main/java/com/yarolegovich/slidingrootnav/sample/SampleActivity.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
package com.yarolegovich.slidingrootnav.sample;
22

3-
import android.app.Fragment;
43
import android.content.res.TypedArray;
54
import android.graphics.drawable.Drawable;
65
import android.os.Bundle;
7-
import android.support.annotation.ColorInt;
8-
import android.support.annotation.ColorRes;
9-
import android.support.annotation.Nullable;
10-
import android.support.v4.content.ContextCompat;
11-
import android.support.v7.app.AppCompatActivity;
12-
import android.support.v7.widget.LinearLayoutManager;
13-
import android.support.v7.widget.RecyclerView;
14-
import android.support.v7.widget.Toolbar;
6+
7+
import androidx.annotation.ColorInt;
8+
import androidx.annotation.ColorRes;
9+
import androidx.annotation.Nullable;
10+
import androidx.appcompat.app.AppCompatActivity;
11+
import androidx.appcompat.widget.Toolbar;
12+
import androidx.core.content.ContextCompat;
13+
import androidx.fragment.app.Fragment;
14+
import androidx.recyclerview.widget.LinearLayoutManager;
15+
import androidx.recyclerview.widget.RecyclerView;
1516

1617
import com.yarolegovich.slidingrootnav.SlidingRootNav;
1718
import com.yarolegovich.slidingrootnav.SlidingRootNavBuilder;
@@ -87,11 +88,12 @@ public void onItemSelected(int position) {
8788
}
8889

8990
private void showFragment(Fragment fragment) {
90-
getFragmentManager().beginTransaction()
91+
getSupportFragmentManager().beginTransaction()
9192
.replace(R.id.container, fragment)
9293
.commit();
9394
}
9495

96+
@SuppressWarnings("rawtypes")
9597
private DrawerItem createItemFor(int position) {
9698
return new SimpleItem(screenIcons[position], screenTitles[position])
9799
.withIconTint(color(R.color.textColorSecondary))

sample/src/main/java/com/yarolegovich/slidingrootnav/sample/fragment/CenteredTextFragment.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
package com.yarolegovich.slidingrootnav.sample.fragment;
22

3-
import android.app.Fragment;
43
import android.os.Bundle;
5-
import android.support.annotation.Nullable;
64
import android.view.LayoutInflater;
75
import android.view.View;
86
import android.view.ViewGroup;
97
import android.widget.TextView;
108
import android.widget.Toast;
119

10+
import androidx.annotation.Nullable;
11+
import androidx.fragment.app.Fragment;
12+
1213
import com.yarolegovich.slidingrootnav.sample.R;
1314

1415

@@ -36,7 +37,8 @@ public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
3637

3738
@Override
3839
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
39-
final String text = getArguments().getString(EXTRA_TEXT);
40+
Bundle args = getArguments();
41+
final String text = args != null ? args.getString(EXTRA_TEXT) : "";
4042
TextView textView = view.findViewById(R.id.text);
4143
textView.setText(text);
4244
textView.setOnClickListener(new View.OnClickListener() {

sample/src/main/java/com/yarolegovich/slidingrootnav/sample/menu/DrawerAdapter.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package com.yarolegovich.slidingrootnav.sample.menu;
22

3-
import android.support.v7.widget.RecyclerView;
43
import android.util.SparseArray;
54
import android.view.View;
65
import android.view.ViewGroup;
76

7+
import androidx.annotation.NonNull;
8+
import androidx.recyclerview.widget.RecyclerView;
9+
810
import java.util.HashMap;
911
import java.util.List;
1012
import java.util.Map;
@@ -13,6 +15,7 @@
1315
* Created by yarolegovich on 25.03.2017.
1416
*/
1517

18+
@SuppressWarnings({"rawtypes", "ConstantConditions"})
1619
public class DrawerAdapter extends RecyclerView.Adapter<DrawerAdapter.ViewHolder> {
1720

1821
private List<DrawerItem> items;
@@ -29,16 +32,17 @@ public DrawerAdapter(List<DrawerItem> items) {
2932
processViewTypes();
3033
}
3134

35+
@NonNull
3236
@Override
33-
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
37+
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
3438
ViewHolder holder = holderFactories.get(viewType).createViewHolder(parent);
3539
holder.adapter = this;
3640
return holder;
3741
}
3842

3943
@Override
4044
@SuppressWarnings("unchecked")
41-
public void onBindViewHolder(ViewHolder holder, int position) {
45+
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
4246
items.get(position).bindViewHolder(holder);
4347
}
4448

sample/src/main/java/com/yarolegovich/slidingrootnav/sample/menu/DrawerItem.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public abstract class DrawerItem<T extends DrawerAdapter.ViewHolder> {
1414

1515
public abstract void bindViewHolder(T holder);
1616

17-
public DrawerItem setChecked(boolean isChecked) {
17+
public DrawerItem<T> setChecked(boolean isChecked) {
1818
this.isChecked = isChecked;
1919
return this;
2020
}

sample/src/main/res/layout/activity_main.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@
66
android:background="@android:color/white"
77
android:orientation="vertical">
88

9-
<android.support.design.widget.AppBarLayout
9+
<com.google.android.material.appbar.AppBarLayout
1010
android:layout_width="match_parent"
1111
android:layout_height="wrap_content">
1212

13-
<android.support.v7.widget.Toolbar
13+
<androidx.appcompat.widget.Toolbar
1414
android:id="@+id/toolbar"
1515
android:layout_width="match_parent"
1616
android:layout_height="wrap_content"
1717
android:background="@color/colorPrimary" />
18-
</android.support.design.widget.AppBarLayout>
18+
</com.google.android.material.appbar.AppBarLayout>
1919

2020
<FrameLayout
2121
android:id="@+id/container"

0 commit comments

Comments
 (0)