Skip to content

Commit f6ee86e

Browse files
Merge pull request #23 from DylanCaiCoding/3.0
3.0
2 parents 7c63b0c + 5cf3920 commit f6ee86e

Some content is hidden

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

50 files changed

+444
-463
lines changed

app/build.gradle

+7-8
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
apply plugin: 'com.android.application'
22
apply plugin: 'kotlin-android'
3-
apply plugin: 'kotlin-android-extensions'
43

54
android {
65
compileSdkVersion 30
76

87
defaultConfig {
9-
applicationId "com.dylanc.loadinghelper.sample"
8+
applicationId "com.dylanc.loadingstateview.sample"
109
minSdkVersion 21
1110
targetSdkVersion 30
1211
versionCode 2
@@ -34,13 +33,13 @@ android {
3433
dependencies {
3534
implementation fileTree(dir: 'libs', include: ['*.jar'])
3635
implementation project(':library')
37-
implementation 'androidx.appcompat:appcompat:1.2.0'
38-
implementation 'androidx.recyclerview:recyclerview:1.2.0'
36+
implementation 'androidx.appcompat:appcompat:1.3.1'
37+
implementation 'androidx.recyclerview:recyclerview:1.2.1'
3938
implementation 'androidx.cardview:cardview:1.0.0'
40-
implementation 'com.google.android.material:material:1.3.0'
41-
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
39+
implementation 'com.google.android.material:material:1.4.0'
40+
implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
4241
implementation 'com.github.bumptech.glide:glide:4.12.0'
4342
testImplementation 'junit:junit:4.13.2'
44-
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
45-
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
43+
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
44+
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
4645
}

app/proguard-rules.pro

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@
2020
# hide the original source file name.
2121
#-renamesourcefileattribute SourceFile
2222

23-
-keep public class com.dylanc.loadinghelper.sample.widget.**{*;}
23+
-keep public class com.dylanc.loadingstateview.sample.widget.**{*;}

app/src/androidTest/java/com/dylanc/loadinghelper/sample/ExampleInstrumentedTest.kt renamed to app/src/androidTest/java/com/dylanc/loadingstateview/sample/ExampleInstrumentedTest.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.dylanc.loadinghelper.sample
1+
package com.dylanc.loadingstateview.sample
22

33
import androidx.test.platform.app.InstrumentationRegistry
44
import androidx.test.ext.junit.runners.AndroidJUnit4

app/src/main/AndroidManifest.xml

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,36 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:tools="http://schemas.android.com/tools"
4-
package="com.dylanc.loadinghelper.sample">
4+
package="com.dylanc.loadingstateview.sample">
55

66
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
77
<uses-permission android:name="android.permission.INTERNET" />
88

99
<application
10-
android:name=".App"
10+
android:name="com.dylanc.loadingstateview.sample.App"
1111
android:allowBackup="true"
1212
android:icon="@drawable/ic_logo"
1313
android:label="@string/app_name"
1414
android:screenOrientation="portrait"
1515
android:supportsRtl="true"
1616
android:theme="@style/AppTheme"
1717
tools:ignore="GoogleAppIndexingWarning">
18-
<activity android:name=".ui.MainActivity">
18+
<activity android:name="com.dylanc.loadingstateview.sample.ui.MainActivity">
1919
<intent-filter>
2020
<action android:name="android.intent.action.MAIN" />
2121

2222
<category android:name="android.intent.category.LAUNCHER" />
2323
</intent-filter>
2424
</activity>
25-
<activity android:name=".ui.ActErrorActivity" />
26-
<activity android:name=".ui.FragmentEmptyActivity" />
27-
<activity android:name=".ui.ViewPlaceholderActivity" />
28-
<activity android:name=".ui.ViewPagerActivity" />
29-
<activity android:name=".ui.RecyclerViewActivity" />
30-
<activity android:name=".ui.CustomHeaderActivity" />
31-
<activity android:name=".ui.MultipleHeaderActivity" />
32-
<activity android:name=".ui.ScrollingToolbarActivity" />
33-
<activity android:name=".ui.BottomEditorActivity"/>
25+
<activity android:name="com.dylanc.loadingstateview.sample.ui.ActErrorActivity" />
26+
<activity android:name="com.dylanc.loadingstateview.sample.ui.FragmentEmptyActivity" />
27+
<activity android:name="com.dylanc.loadingstateview.sample.ui.ViewPlaceholderActivity" />
28+
<activity android:name="com.dylanc.loadingstateview.sample.ui.ViewPagerActivity" />
29+
<activity android:name="com.dylanc.loadingstateview.sample.ui.RecyclerViewActivity" />
30+
<activity android:name="com.dylanc.loadingstateview.sample.ui.CustomHeaderActivity" />
31+
<activity android:name="com.dylanc.loadingstateview.sample.ui.MultipleHeaderActivity" />
32+
<activity android:name="com.dylanc.loadingstateview.sample.ui.ScrollingToolbarActivity" />
33+
<activity android:name="com.dylanc.loadingstateview.sample.ui.BottomEditorActivity"/>
3434
</application>
3535

3636
</manifest>

app/src/main/java/com/dylanc/loadinghelper/sample/utils/ToolbarUtils.java

-64
This file was deleted.

app/src/main/java/com/dylanc/loadinghelper/sample/App.java renamed to app/src/main/java/com/dylanc/loadingstateview/sample/App.java

+10-11
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,15 @@
1414
* limitations under the License.
1515
*/
1616

17-
package com.dylanc.loadinghelper.sample;
17+
package com.dylanc.loadingstateview.sample;
1818

1919
import android.app.Application;
2020

21-
import com.dylanc.loadinghelper.LoadingHelper;
22-
import com.dylanc.loadinghelper.ViewType;
23-
import com.dylanc.loadinghelper.sample.adapter.EmptyAdapter;
24-
import com.dylanc.loadinghelper.sample.adapter.ErrorAdapter;
25-
import com.dylanc.loadinghelper.sample.adapter.LoadingAdapter;
26-
import com.dylanc.loadinghelper.sample.adapter.ToolbarAdapter;
21+
import com.dylanc.loadingstateview.LoadingStateView;
22+
import com.dylanc.loadingstateview.ViewType;
23+
import com.dylanc.loadingstateview.sample.delegate.EmptyViewDelegate;
24+
import com.dylanc.loadingstateview.sample.delegate.ErrorViewDelegate;
25+
import com.dylanc.loadingstateview.sample.delegate.LoadingViewDelegate;
2726

2827
import kotlin.Unit;
2928

@@ -34,10 +33,10 @@ public class App extends Application {
3433
@Override
3534
public void onCreate() {
3635
super.onCreate();
37-
LoadingHelper.setDefaultAdapterPool(adapterPool -> {
38-
adapterPool.register(ViewType.LOADING, new LoadingAdapter());
39-
adapterPool.register(ViewType.ERROR, new ErrorAdapter());
40-
adapterPool.register(ViewType.EMPTY, new EmptyAdapter());
36+
LoadingStateView.setViewDelegatePool(pool -> {
37+
pool.register(ViewType.LOADING, new LoadingViewDelegate());
38+
pool.register(ViewType.ERROR, new ErrorViewDelegate());
39+
pool.register(ViewType.EMPTY, new EmptyViewDelegate());
4140
return Unit.INSTANCE;
4241
});
4342
}

app/src/main/java/com/dylanc/loadinghelper/sample/animation/FadeAnimation.java renamed to app/src/main/java/com/dylanc/loadingstateview/sample/animation/FadeAnimation.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
package com.dylanc.loadinghelper.sample.animation;
1+
package com.dylanc.loadingstateview.sample.animation;
22

33
import android.view.View;
44

5-
import com.dylanc.loadinghelper.LoadingHelper;
5+
import com.dylanc.loadingstateview.LoadingStateView;
66

77
import org.jetbrains.annotations.NotNull;
88

99
/**
1010
* @author Dylan Cai
1111
*/
12-
public class FadeAnimation implements LoadingHelper.Animation {
12+
public class FadeAnimation implements LoadingStateView.Animation {
1313

1414
private static final long DEFAULT_DURATION = 500;
1515
private final long duration;

app/src/main/java/com/dylanc/loadinghelper/sample/base/BaseActivity.java renamed to app/src/main/java/com/dylanc/loadingstateview/sample/base/BaseActivity.java

+14-14
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@
1414
* limitations under the License.
1515
*/
1616

17-
package com.dylanc.loadinghelper.sample.base;
17+
package com.dylanc.loadingstateview.sample.base;
1818

1919
import androidx.annotation.IdRes;
2020
import androidx.appcompat.app.AppCompatActivity;
2121

22-
import com.dylanc.loadinghelper.LoadingHelper;
23-
import com.dylanc.loadinghelper.sample.adapter.NavIconType;
24-
import com.dylanc.loadinghelper.sample.adapter.ToolbarAdapter;
22+
import com.dylanc.loadingstateview.LoadingStateView;
23+
import com.dylanc.loadingstateview.sample.delegate.NavIconType;
24+
import com.dylanc.loadingstateview.sample.delegate.ToolbarViewDelegate;
2525

2626
/**
2727
* 这是耦合度较低的封装方式,没有任何抽象方法,可以很方便地将基类里的代码拷贝到其它项目的基类里使用。
@@ -35,7 +35,7 @@
3535
@SuppressWarnings("unused")
3636
public class BaseActivity extends AppCompatActivity {
3737

38-
private LoadingHelper loadingHelper;
38+
private LoadingStateView loadingStateView;
3939

4040
@Override
4141
public void setContentView(int layoutResID) {
@@ -45,11 +45,11 @@ public void setContentView(int layoutResID) {
4545
public void setContentView(int layoutResID, @IdRes int contentViewId) {
4646
super.setContentView(layoutResID);
4747
if (contentViewId == 0) {
48-
loadingHelper = new LoadingHelper(this);
48+
loadingStateView = new LoadingStateView(this);
4949
} else {
50-
loadingHelper = new LoadingHelper(findViewById(contentViewId));
50+
loadingStateView = new LoadingStateView(findViewById(contentViewId));
5151
}
52-
loadingHelper.setOnReloadListener(this::onReload);
52+
loadingStateView.setOnReloadListener(this::onReload);
5353
}
5454

5555
/**
@@ -64,27 +64,27 @@ public void setToolbar(String title, NavIconType type) {
6464
}
6565

6666
public void setToolbar(String title, NavIconType type, int menuId) {
67-
loadingHelper.setDecorHeader(new ToolbarAdapter(title, type, menuId, this::onOptionsItemSelected));
67+
loadingStateView.setDecorHeader(new ToolbarViewDelegate(title, type, menuId, this::onOptionsItemSelected));
6868
}
6969

7070
public void showLoadingView() {
71-
loadingHelper.showLoadingView();
71+
loadingStateView.showLoadingView();
7272
}
7373

7474
public void showContentView() {
75-
loadingHelper.showContentView();
75+
loadingStateView.showContentView();
7676
}
7777

7878
public void showErrorView() {
79-
loadingHelper.showErrorView();
79+
loadingStateView.showErrorView();
8080
}
8181

8282
public void showEmptyView() {
83-
loadingHelper.showEmptyView();
83+
loadingStateView.showEmptyView();
8484
}
8585

8686
public void showCustomView(Object viewType) {
87-
loadingHelper.showView(viewType);
87+
loadingStateView.showView(viewType);
8888
}
8989

9090
protected void onReload() {

app/src/main/java/com/dylanc/loadinghelper/sample/adapter/BottomEditorDecorAdapter.java renamed to app/src/main/java/com/dylanc/loadingstateview/sample/delegate/BottomEditorDecorViewDelegate.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,27 @@
1414
* limitations under the License.
1515
*/
1616

17-
package com.dylanc.loadinghelper.sample.adapter;
17+
package com.dylanc.loadingstateview.sample.delegate;
1818

1919
import android.annotation.SuppressLint;
2020
import android.view.LayoutInflater;
2121
import android.view.View;
2222
import android.view.ViewGroup;
2323
import android.widget.EditText;
2424

25-
import com.dylanc.loadinghelper.LoadingHelper;
26-
import com.dylanc.loadinghelper.sample.R;
27-
import com.dylanc.loadinghelper.sample.utils.KeyboardUtils;
25+
import com.dylanc.loadingstateview.LoadingStateView;
26+
import com.dylanc.loadingstateview.sample.R;
27+
import com.dylanc.loadingstateview.sample.utils.KeyboardUtils;
2828

2929
import org.jetbrains.annotations.NotNull;
3030

3131
/**
3232
* @author Dylan Cai
3333
*/
34-
public class BottomEditorDecorAdapter extends LoadingHelper.DecorAdapter {
35-
private OnSendListener onSendListener;
34+
public class BottomEditorDecorViewDelegate extends LoadingStateView.DecorViewDelegate {
35+
private final OnSendListener onSendListener;
3636

37-
public BottomEditorDecorAdapter(OnSendListener onSendListener) {
37+
public BottomEditorDecorViewDelegate(OnSendListener onSendListener) {
3838
this.onSendListener = onSendListener;
3939
}
4040

app/src/main/java/com/dylanc/loadinghelper/sample/adapter/EmptyAdapter.java renamed to app/src/main/java/com/dylanc/loadingstateview/sample/delegate/CoolLoadingViewDelegate.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -14,28 +14,28 @@
1414
* limitations under the License.
1515
*/
1616

17-
package com.dylanc.loadinghelper.sample.adapter;
17+
package com.dylanc.loadingstateview.sample.delegate;
1818

1919
import androidx.annotation.NonNull;
2020
import android.view.LayoutInflater;
2121
import android.view.ViewGroup;
2222

23-
import com.dylanc.loadinghelper.LoadingHelper;
24-
import com.dylanc.loadinghelper.sample.R;
23+
import com.dylanc.loadingstateview.LoadingStateView;
24+
import com.dylanc.loadingstateview.sample.R;
2525

2626
/**
2727
* @author Dylan Cai
2828
*/
29-
public class EmptyAdapter extends LoadingHelper.Adapter<LoadingHelper.ViewHolder> {
29+
public class CoolLoadingViewDelegate extends LoadingStateView.ViewDelegate<LoadingStateView.ViewHolder> {
3030

3131
@NonNull
3232
@Override
33-
public LoadingHelper.ViewHolder onCreateViewHolder(@NonNull LayoutInflater inflater, @NonNull ViewGroup parent) {
34-
return new LoadingHelper.ViewHolder(inflater.inflate(R.layout.layout_empty, parent, false));
33+
public LoadingStateView.ViewHolder onCreateViewHolder(@NonNull LayoutInflater inflater, @NonNull ViewGroup parent) {
34+
return new LoadingStateView.ViewHolder(inflater.inflate(R.layout.layout_cool_loading, parent, false));
3535
}
3636

3737
@Override
38-
public void onBindViewHolder(@NonNull LoadingHelper.ViewHolder holder) {
38+
public void onBindViewHolder(@NonNull LoadingStateView.ViewHolder holder) {
3939

4040
}
4141
}

0 commit comments

Comments
 (0)