Commit 5dd12608 by 宁斌

添加loadsir頁面反饋管理

parent a40f7acb
...@@ -51,16 +51,18 @@ public class BaseApplication extends Application implements App { ...@@ -51,16 +51,18 @@ public class BaseApplication extends Application implements App {
protected void attachBaseContext(Context base) { protected void attachBaseContext(Context base) {
super.attachBaseContext(base); super.attachBaseContext(base);
MultiDex.install(this); MultiDex.install(this);
if (mAppDelegate == null) if (mAppDelegate == null) {
this.mAppDelegate = new AppDelegate(base); this.mAppDelegate = new AppDelegate(base);
}
this.mAppDelegate.attachBaseContext(base); this.mAppDelegate.attachBaseContext(base);
} }
@Override @Override
public void onCreate() { public void onCreate() {
super.onCreate(); super.onCreate();
if (mAppDelegate != null) if (mAppDelegate != null) {
this.mAppDelegate.onCreate(this); this.mAppDelegate.onCreate(this);
}
} }
/** /**
...@@ -69,8 +71,9 @@ public class BaseApplication extends Application implements App { ...@@ -69,8 +71,9 @@ public class BaseApplication extends Application implements App {
@Override @Override
public void onTerminate() { public void onTerminate() {
super.onTerminate(); super.onTerminate();
if (mAppDelegate != null) if (mAppDelegate != null) {
this.mAppDelegate.onTerminate(this); this.mAppDelegate.onTerminate(this);
}
} }
/** /**
......
...@@ -106,6 +106,13 @@ dependencies { ...@@ -106,6 +106,13 @@ dependencies {
api 'com.rengwuxian.materialedittext:library:2.1.4' api 'com.rengwuxian.materialedittext:library:2.1.4'
//扫码 //扫码
api 'cn.bingoogolapple:bga-qrcode-zxing:1.3.7' api 'cn.bingoogolapple:bga-qrcode-zxing:1.3.7'
//加载反馈页管理
api rootProject.ext.dependencies["loadsir"]
api rootProject.ext.dependencies["permissionx"]
api rootProject.ext.dependencies["design"]
api rootProject.ext.dependencies["appcompat-v7"]
implementation 'cn.bingoogolapple:bga-photopicker:1.2.8@aar' implementation 'cn.bingoogolapple:bga-photopicker:1.2.8@aar'
implementation 'cn.bingoogolapple:bga-baseadapter:1.2.9@aar' implementation 'cn.bingoogolapple:bga-baseadapter:1.2.9@aar'
implementation 'cn.bingoogolapple:bga-flowlayout:1.0.0@aar' implementation 'cn.bingoogolapple:bga-flowlayout:1.0.0@aar'
...@@ -113,9 +120,6 @@ dependencies { ...@@ -113,9 +120,6 @@ dependencies {
api 'androidx.core:core-ktx:+' api 'androidx.core:core-ktx:+'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
api 'com.github.huangyanbin:SmartTable:2.2.0' api 'com.github.huangyanbin:SmartTable:2.2.0'
api rootProject.ext.dependencies["permissionx"]
api rootProject.ext.dependencies["design"]
api rootProject.ext.dependencies["appcompat-v7"]
} }
repositories { repositories {
......
...@@ -11,7 +11,6 @@ import android.os.RemoteException; ...@@ -11,7 +11,6 @@ import android.os.RemoteException;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import com.billy.cc.core.component.CC; import com.billy.cc.core.component.CC;
import com.bumptech.glide.Glide;
import com.elvishew.xlog.LogConfiguration; import com.elvishew.xlog.LogConfiguration;
import com.elvishew.xlog.LogLevel; import com.elvishew.xlog.LogLevel;
import com.elvishew.xlog.XLog; import com.elvishew.xlog.XLog;
...@@ -40,9 +39,15 @@ import com.gingersoft.gsa.cloud.constans.UserConstans; ...@@ -40,9 +39,15 @@ import com.gingersoft.gsa.cloud.constans.UserConstans;
import com.gingersoft.gsa.cloud.database.DaoManager; import com.gingersoft.gsa.cloud.database.DaoManager;
import com.gingersoft.gsa.cloud.database.bean.ExpandInfo; import com.gingersoft.gsa.cloud.database.bean.ExpandInfo;
import com.gingersoft.gsa.cloud.database.utils.ExpandInfoDaoUtils; import com.gingersoft.gsa.cloud.database.utils.ExpandInfoDaoUtils;
import com.gingersoft.gsa.cloud.ui.loadsir.CustomCallback;
import com.gingersoft.gsa.cloud.ui.loadsir.EmptyCallback;
import com.gingersoft.gsa.cloud.ui.loadsir.ErrorCallback;
import com.gingersoft.gsa.cloud.ui.loadsir.LoadingCallback;
import com.gingersoft.gsa.cloud.ui.loadsir.TimeoutCallback;
import com.hyweb.n5.lib.exception.NoInitPrinterException; import com.hyweb.n5.lib.exception.NoInitPrinterException;
import com.hyweb.n5.lib.util.PrinterUtil; import com.hyweb.n5.lib.util.PrinterUtil;
import com.jess.arms.base.BaseApplication; import com.jess.arms.base.BaseApplication;
import com.kingja.loadsir.core.LoadSir;
import com.scwang.smartrefresh.layout.SmartRefreshLayout; import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.scwang.smartrefresh.layout.footer.ClassicsFooter; import com.scwang.smartrefresh.layout.footer.ClassicsFooter;
import com.scwang.smartrefresh.layout.header.ClassicsHeader; import com.scwang.smartrefresh.layout.header.ClassicsHeader;
...@@ -51,9 +56,6 @@ import java.util.List; ...@@ -51,9 +56,6 @@ import java.util.List;
import java.util.Locale; import java.util.Locale;
import io.reactivex.Observable; import io.reactivex.Observable;
import io.reactivex.ObservableEmitter;
import io.reactivex.ObservableOnSubscribe;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Consumer; import io.reactivex.functions.Consumer;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import me.jessyan.autosize.AutoSize; import me.jessyan.autosize.AutoSize;
...@@ -122,6 +124,8 @@ public class GsaCloudApplication extends BaseApplication { ...@@ -122,6 +124,8 @@ public class GsaCloudApplication extends BaseApplication {
// QDSkinManager.install(this); // QDSkinManager.install(this);
//初始化上下拉刷新 //初始化上下拉刷新
initRefresh(); initRefresh();
//初始化加载反馈页管理框架
initLoadSir();
//初始化今日頭條適配方案 //初始化今日頭條適配方案
initAutoSize(); initAutoSize();
//初始化數據庫框架 //初始化數據庫框架
...@@ -202,6 +206,17 @@ public class GsaCloudApplication extends BaseApplication { ...@@ -202,6 +206,17 @@ public class GsaCloudApplication extends BaseApplication {
ClassicsFooter.REFRESH_FOOTER_NOTHING = getString(R.string.srl_footer_nothing);//"全部加载完成"; ClassicsFooter.REFRESH_FOOTER_NOTHING = getString(R.string.srl_footer_nothing);//"全部加载完成";
} }
private void initLoadSir() {
LoadSir.beginBuilder()
.addCallback(new ErrorCallback())//添加各种状态页
.addCallback(new EmptyCallback())
.addCallback(new LoadingCallback())
.addCallback(new TimeoutCallback())
.addCallback(new CustomCallback())
.setDefaultCallback(LoadingCallback.class)//设置默认状态页
.commit();
}
public static void initDomainUrl() { public static void initDomainUrl() {
HttpsConstans.init(mAppContext); HttpsConstans.init(mAppContext);
//需要單獨配置域名URL的,在接口上添加@Headers({"Domain-Name: settlement_report_server"}),不添加則是使用默認域名 //需要單獨配置域名URL的,在接口上添加@Headers({"Domain-Name: settlement_report_server"}),不添加則是使用默認域名
......
package com.gingersoft.gsa.cloud.ui.loadsir;
import com.gingersoft.gsa.cloud.base.R;
import com.kingja.loadsir.callback.Callback;
/**
* @author : bin
* @create date: 2020-10-27
* @update date: 2020-10-27
* @description:
*/
public class CustomCallback extends Callback {
@Override
protected int onCreateView() {
return R.layout.loadsir_custom;
}
}
package com.gingersoft.gsa.cloud.ui.loadsir;
import com.gingersoft.gsa.cloud.base.R;
import com.kingja.loadsir.callback.Callback;
/**
* @author : bin
* @create date: 2020-10-27
* @update date: 2020-10-27
* @description:
*/
public class EmptyCallback extends Callback {
@Override
protected int onCreateView() {
return R.layout.loadsir_empty;
}
}
package com.gingersoft.gsa.cloud.ui.loadsir;
import com.gingersoft.gsa.cloud.base.R;
import com.kingja.loadsir.callback.Callback;
/**
* @author : bin
* @create date: 2020-10-27
* @update date: 2020-10-27
* @description:
*/
public class ErrorCallback extends Callback {
@Override
protected int onCreateView() {
return R.layout.loadsir_error;
}
}
package com.gingersoft.gsa.cloud.ui.loadsir;
import com.gingersoft.gsa.cloud.base.R;
import com.kingja.loadsir.callback.Callback;
/**
* @author : bin
* @create date: 2020-10-27
* @update date: 2020-10-27
* @description:
*/
public class LoadingCallback extends Callback {
@Override
protected int onCreateView() {
return R.layout.loadsir_loading;
}
}
package com.gingersoft.gsa.cloud.ui.loadsir;
import com.kingja.loadsir.callback.Callback;
import com.kingja.loadsir.core.LoadService;
/**
* @author : bin
* @create date: 2020-10-27
* @update date: 2020-10-27
* @description:
*/
public class LoadsirUtils {
public static void loadState(LoadService loadService, Callback callback){
}
}
package com.gingersoft.gsa.cloud.ui.loadsir;
import com.gingersoft.gsa.cloud.base.R;
import com.kingja.loadsir.callback.Callback;
/**
* @author : bin
* @create date: 2020-10-27
* @update date: 2020-10-27
* @description:
*/
public class TimeoutCallback extends Callback {
@Override
protected int onCreateView() {
return R.layout.loadsir_timeout;
}
}
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableTop="@mipmap/loadsir_empty"
android:gravity="center"
android:drawablePadding="@dimen/dp_10"
android:textColor="#999999"
android:textSize="@dimen/load_dialog_text_size"
android:text="自定義頁面"
android:layout_marginBottom="@dimen/head_height"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableTop="@mipmap/loadsir_empty"
android:gravity="center"
android:drawablePadding="@dimen/dp_10"
android:textColor="#999999"
android:textSize="@dimen/load_dialog_text_size"
android:text="@string/emptyView_mode_desc_double"
android:layout_marginBottom="@dimen/head_height"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableTop="@mipmap/loadsir_network"
android:gravity="center"
android:drawablePadding="@dimen/dp_10"
android:textColor="#999999"
android:textSize="@dimen/load_dialog_text_size"
android:text="@string/emptyView_mode_desc_fail_desc"
android:layout_marginBottom="@dimen/head_height"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
android:id="@+id/btn_reload"
android:layout_width="match_parent"
android:layout_height="@dimen/button_height"
android:background="@color/theme_color"
android:layout_margin="@dimen/dp_10"
android:textSize="@dimen/text_size_default"
android:textColor="@color/theme_white_color"
android:text="@string/emptyView_mode_desc_retry"
app:qmui_radius="@dimen/dp_5"
app:qmui_backgroundColor="@color/theme_color"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ui_shape_rect_loading"
android:gravity="center"
android:layout_gravity="center"
android:minWidth="120dp"
android:minHeight="120dp"
android:orientation="vertical"
android:padding="10dp">
<ProgressBar
style="@style/AppTheme.Base"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tv_loading_dialog_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="@string/ui_loading"
android:textColor="@color/theme_white_color"
android:textSize="@dimen/load_dialog_text_size" />
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableTop="@mipmap/loadsir_network"
android:gravity="center"
android:drawablePadding="@dimen/dp_10"
android:textColor="#999999"
android:textSize="@dimen/load_dialog_text_size"
android:text="@string/emptyView_mode_desc_timeout_desc"
android:layout_marginBottom="@dimen/head_height"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
android:id="@+id/btn_reload"
android:layout_width="match_parent"
android:layout_height="@dimen/button_height"
android:background="@color/theme_color"
android:layout_margin="@dimen/dp_10"
android:textSize="@dimen/text_size_default"
android:textColor="@color/theme_white_color"
android:text="@string/emptyView_mode_desc_retry"
app:qmui_radius="@dimen/dp_5"
app:qmui_backgroundColor="@color/theme_color"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -126,7 +126,8 @@ ...@@ -126,7 +126,8 @@
<!-- EmptyViewFragment 空界面展示界面 --> <!-- EmptyViewFragment 空界面展示界面 -->
<string name="emptyView_mode_title_loading">顯示Loading</string> <string name="emptyView_mode_title_loading">顯示Loading</string>
<string name="emptyView_mode_desc_fail_title">加載失敗</string> <string name="emptyView_mode_desc_fail_title">加載失敗</string>
<string name="emptyView_mode_desc_fail_desc">請檢測網絡是否正常連接</string> <string name="emptyView_mode_desc_fail_desc">網絡加載失敗,請檢查網絡重試</string>
<string name="emptyView_mode_desc_timeout_desc">網絡加載超時,請檢查網絡重試</string>
<string name="emptyView_mode_desc_retry">點擊重試</string> <string name="emptyView_mode_desc_retry">點擊重試</string>
<string name="emptyView_mode_desc_double">未獲取到數據</string> <string name="emptyView_mode_desc_double">未獲取到數據</string>
...@@ -141,6 +142,8 @@ ...@@ -141,6 +142,8 @@
<string name="response_error_request_was_redirected_to_another_page">請求被重定向到其他頁面</string> <string name="response_error_request_was_redirected_to_another_page">請求被重定向到其他頁面</string>
<string name="response_error_request_logged">賬號已在其他設備登錄</string> <string name="response_error_request_logged">賬號已在其他設備登錄</string>
<string name="app_exception">很抱歉,程序出現異常,即將退出!</string> <string name="app_exception">很抱歉,程序出現異常,即將退出!</string>
<string name="queue_write_external_storage_permission_hint">保存失敗,請先前往設置開放存儲權限</string> <string name="queue_write_external_storage_permission_hint">保存失敗,請先前往設置開放存儲權限</string>
......
...@@ -56,6 +56,7 @@ ext { ...@@ -56,6 +56,7 @@ ext {
"nineoldandroids" : "com.nineoldandroids:library:2.4.0", "nineoldandroids" : "com.nineoldandroids:library:2.4.0",
"paginate" : "com.github.markomilos:paginate:0.5.1", "paginate" : "com.github.markomilos:paginate:0.5.1",
"vlayout" : "com.alibaba.android:vlayout:1.1.0@aar", "vlayout" : "com.alibaba.android:vlayout:1.1.0@aar",
"loadsir" : "com.kingja.loadsir:loadsir:1.3.8",
//rx1 //rx1
"rxandroid" : "io.reactivex:rxandroid:1.2.1", "rxandroid" : "io.reactivex:rxandroid:1.2.1",
......
...@@ -34,6 +34,8 @@ public interface TableContract { ...@@ -34,6 +34,8 @@ public interface TableContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息 //对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView { interface View extends IView {
void loadState(Class<?> c);
void returnTableList(List<TableBean.DataBean> dataBeanList); void returnTableList(List<TableBean.DataBean> dataBeanList);
void returnSplitTableList(List<TableBean.DataBean> dataBeanList); void returnSplitTableList(List<TableBean.DataBean> dataBeanList);
......
...@@ -31,6 +31,9 @@ import com.jess.arms.base.BaseFragmentActivity; ...@@ -31,6 +31,9 @@ import com.jess.arms.base.BaseFragmentActivity;
import com.jess.arms.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.di.component.AppComponent; import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils; import com.jess.arms.utils.ArmsUtils;
import com.kingja.loadsir.callback.Callback;
import com.kingja.loadsir.core.LoadService;
import com.kingja.loadsir.core.LoadSir;
import com.qmuiteam.qmui.alpha.QMUIAlphaImageButton; import com.qmuiteam.qmui.alpha.QMUIAlphaImageButton;
import com.qmuiteam.qmui.arch.QMUIFragmentPagerAdapter; import com.qmuiteam.qmui.arch.QMUIFragmentPagerAdapter;
import com.qmuiteam.qmui.layout.QMUIButton; import com.qmuiteam.qmui.layout.QMUIButton;
...@@ -105,6 +108,7 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen ...@@ -105,6 +108,7 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
@BindView(R2.id.iv_tab_icon) @BindView(R2.id.iv_tab_icon)
ImageView iv_tab_icon; ImageView iv_tab_icon;
private LoadService loadService;
/** /**
* 輪訓刷新餐檯數據 * 輪訓刷新餐檯數據
*/ */
...@@ -150,6 +154,14 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen ...@@ -150,6 +154,14 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
public void initData(@Nullable Bundle savedInstanceState) { public void initData(@Nullable Bundle savedInstanceState) {
tv_show_popup.setWidth(ArmsUtils.getScreenWidth(this) / 3); tv_show_popup.setWidth(ArmsUtils.getScreenWidth(this) / 3);
// loadService = LoadSir.getDefault().register(this, new Callback.OnReloadListener() {
// @Override
// public void onReload(View v) {
// // 重新加载逻辑
// getTables(true, null);
// }
// });
initTabAndPager(); initTabAndPager();
getTables(true, null); getTables(true, null);
} }
...@@ -268,6 +280,10 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen ...@@ -268,6 +280,10 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
} }
@Override @Override
public void loadState(Class<?> c) {
}
@Override
public void returnTableList(List<TableBean.DataBean> dataBeanList) { public void returnTableList(List<TableBean.DataBean> dataBeanList) {
if (dataBeanList != null && dataBeanList.size() > 0) { if (dataBeanList != null && dataBeanList.size() > 0) {
mPresenter.filterTableByAction(); mPresenter.filterTableByAction();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment