作者 朱振飞

add

... ... @@ -124,7 +124,8 @@
<activity
android:name=".ui.jxt.activity.TZ.FbtzA_ctivity"
android:launchMode="singleTask"
android:windowSoftInputMode="adjustResize|stateHidden" />
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.jxt.activity.Zy.Zyxqck_Activity"
android:windowSoftInputMode="adjustResize|stateHidden" />
... ...
... ... @@ -236,7 +236,7 @@ public interface ApiService {
/*家校通通知列表数*/
@POST("/api/home_school/getList")
Observable<JxttzEntity> getTzList(@Header("token") String token, @Query("type") int type,@Query("date") String date);
Observable<JxttzEntity> getTzList(@Header("token") String token, @Query("type") int type,@Query("date") String date,@Query("page") int page);
/*家校通 家长端通知列表*/
@POST("/api/home_school/getListParent")
... ... @@ -282,6 +282,9 @@ public interface ApiService {
/* 撤回活动 */
@POST("/api/active/delActive")
Observable<ActiveSignEntity> getDeleteActive(@Header("token") String token, @Query("id") String id);
/* 撤回通知 */
@POST("/api/notice/delNotice")
Observable<ActiveSignEntity> getDeleteNotice(@Header("token") String token, @Query("id") String id);
/* 活动报名 */
@POST("/api/active/sign")
Observable<ActiveSignEntity> geSignActive(@Header("token") String token, @Query("id") String id);
... ...
... ... @@ -69,6 +69,7 @@ import com.yinhebairong.clasmanage.entity.VideoEntity;
import com.yinhebairong.clasmanage.m.M;
import com.yinhebairong.clasmanage.network.ApiService;
import com.yinhebairong.clasmanage.ui.jxt.fragment.Jl.JsjlActivity;
import com.yinhebairong.clasmanage.ui.jxt.fragment.Tz.Tz_Rv_Fragment;
import com.yinhebairong.clasmanage.utils.AudioUtils;
import com.yinhebairong.clasmanage.utils.FilesUtil;
import com.yinhebairong.clasmanage.utils.SdcardUtil;
... ... @@ -226,20 +227,20 @@ public class FbtzA_ctivity extends BaseActivity {
xbNum.setText(Math.abs(tzxqEntity.getData().getScore()));
break;
}
List<JxtImageEntity> jxtImageEntities = new ArrayList<>();
if (tzxqEntity.getData().getImages()!=null){
// List<JxtImageEntity> jxtImageEntities = new ArrayList<>();
if (tzxqEntity.getData().getImages()!=null&&tzxqEntity.getData().getImages().size()>0){
for (int i = 0; i <tzxqEntity.getData().getImages().size() ; i++) {
jxtImageEntities.add(new JxtImageEntity(tzxqEntity.getData().getImages().get(i),1));
picAndVideo.add(new JxtImageEntity(tzxqEntity.getData().getImages().get(i),1));
}
}
if (tzxqEntity.getData().getVideo()!=null){
if (tzxqEntity.getData().getVideo()!=null&&tzxqEntity.getData().getVideo().size()>0){
for (int i = 0; i <tzxqEntity.getData().getAudio().size() ; i++) {
jxtImageEntities.add(new JxtImageEntity(tzxqEntity.getData().getVideo().get(i),2,getNetVideoBitmap(tzxqEntity.getData().getVideo().get(i))));
picAndVideo.add(new JxtImageEntity(tzxqEntity.getData().getVideo().get(i),2,getNetVideoBitmap(tzxqEntity.getData().getVideo().get(i))));
}
}
imageAdapter.setNewData(jxtImageEntities);
List<VideoEntity> frequencyUrl = new ArrayList<>();
if (tzxqEntity.getData().getAudio()!=null){
imageAdapter.setNewData(picAndVideo);
// List<VideoEntity> frequencyUrl = new ArrayList<>();
if (tzxqEntity.getData().getAudio()!=null&&tzxqEntity.getData().getAudio().size()>0){
for (int i = 0; i <tzxqEntity.getData().getAudio().size() ; i++) {
frequencyUrl.add(new VideoEntity(tzxqEntity.getData().getAudio().get(i),false));
}
... ... @@ -671,6 +672,7 @@ public class FbtzA_ctivity extends BaseActivity {
@Override
public void onNext(FbtzEntity fbtzEntity) {
if (fbtzEntity.getCode() == M.success) {
Tz_Rv_Fragment.DO_REFRESH=true;//让列表刷新
finish();
} else {
Toast.makeText(ctx, "" + fbtzEntity.getMsg(), Toast.LENGTH_SHORT).show();
... ... @@ -698,6 +700,7 @@ public class FbtzA_ctivity extends BaseActivity {
@Override
public void onNext(FbtzEntity fbtzEntity) {
if (fbtzEntity.getCode() == M.success) {
Tz_Rv_Fragment.DO_REFRESH=true;//让列表刷新
finish();
} else {
Toast.makeText(ctx, "" + fbtzEntity.getMsg(), Toast.LENGTH_SHORT).show();
... ... @@ -723,7 +726,7 @@ public class FbtzA_ctivity extends BaseActivity {
Toast.makeText(ctx, "请输入通知的标题", Toast.LENGTH_SHORT).show();
}
}else {
Toast.makeText(ctx, "接收人不能为空", Toast.LENGTH_SHORT).show();
Toast.makeText(ctx, "请选择接收班级", Toast.LENGTH_SHORT).show();
}
}
... ...
... ... @@ -24,6 +24,7 @@ import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
... ... @@ -33,6 +34,7 @@ import com.donkingliang.imageselector.utils.StringUtils;
import com.google.gson.Gson;
import com.kongzue.dialog.interfaces.OnMenuItemClickListener;
import com.kongzue.dialog.v3.BottomMenu;
import com.kongzue.dialog.v3.WaitDialog;
import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder;
import com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack;
import com.shuyu.gsyvideoplayer.listener.LockClickListener;
... ... @@ -41,11 +43,17 @@ import com.yinhebairong.clasmanage.Config;
import com.yinhebairong.clasmanage.R;
import com.yinhebairong.clasmanage.base.BaseActivity;
import com.yinhebairong.clasmanage.base.instant.Layout;
import com.yinhebairong.clasmanage.entity.ActiveSignEntity;
import com.yinhebairong.clasmanage.entity.JxtImageEntity;
import com.yinhebairong.clasmanage.entity.TzxqEntity;
import com.yinhebairong.clasmanage.entity.VideoEntity;
import com.yinhebairong.clasmanage.m.M;
import com.yinhebairong.clasmanage.ui.jxt.activity.HD.Hdxq_Activity;
import com.yinhebairong.clasmanage.ui.jxt.fragment.Hd.Hd_Rv_Fragment;
import com.yinhebairong.clasmanage.ui.jxt.fragment.Tz.Tz_Rv_Fragment;
import com.yinhebairong.clasmanage.ui.jxt.fragment.Tz.TzimgAdapter;
import com.yinhebairong.clasmanage.ui.my.view.PromptDialog;
import com.yinhebairong.clasmanage.view.DebugLog;
import java.io.IOException;
import java.lang.ref.WeakReference;
... ... @@ -75,9 +83,9 @@ public class TzxqActivity extends BaseActivity {
@BindView(R.id.include_name)
TextView includeName;
@BindView(R.id.tv_jlxq_sc)
ImageView tvJlxqSc;
ImageView include_right;
@BindView(R.id.titie)
LinearLayout titie;
RelativeLayout titie;
@BindView(R.id.jlxq_img)
ImageView jlxqImg;
@BindView(R.id.jl_ls_name)
... ... @@ -104,14 +112,15 @@ public class TzxqActivity extends BaseActivity {
LinearLayout llCk;
TzxqEntity myTzxqEntity;
MediaPlayer mediaPlayer;
@Override
protected void initData() {
if (Config.IDENTITY==0){
if (Config.IDENTITY == 0) {
llCk.setVisibility(View.VISIBLE);
tvJlxqSc.setVisibility(View.VISIBLE);
}else {
include_right.setVisibility(View.VISIBLE);
} else {
llCk.setVisibility(View.GONE);
tvJlxqSc.setVisibility(View.GONE);
include_right.setVisibility(View.GONE);
}
includeBack.setOnClickListener(new View.OnClickListener() {
@Override
... ... @@ -125,12 +134,12 @@ public class TzxqActivity extends BaseActivity {
Bundle extras = getIntent().getExtras();
TzId = extras.getString("TzId");
int isMy = extras.getInt("isMy");
if (isMy==0){
if (isMy == 0) {
llCk.setVisibility(View.GONE);
tvJlxqSc.setVisibility(View.GONE);
}else {
include_right.setVisibility(View.GONE);
} else {
llCk.setVisibility(View.VISIBLE);
tvJlxqSc.setVisibility(View.VISIBLE);
include_right.setVisibility(View.VISIBLE);
}
Api().tzxq(Config.Token, TzId)
.subscribeOn(Schedulers.io())
... ... @@ -151,7 +160,7 @@ public class TzxqActivity extends BaseActivity {
jlBj.setText(tzxqEntity.getData().getClass_name());
jlTime.setText(tzxqEntity.getData().getDate());
RequestOptions requestOptions = RequestOptions.circleCropTransform();
Glide.with(TzxqActivity.this).load(R.mipmap.img_teacher).apply(requestOptions).into(jlxqImg);
Glide.with(TzxqActivity.this).load(R.mipmap.img_teacher).apply(requestOptions).into(jlxqImg);
String[] url = judgeString(tzxqEntity.getData().getContent()); //超链接判断返回数组
String allUrl = tzxqEntity.getData().getContent();
CharSequence charSequence;
... ... @@ -245,7 +254,7 @@ public class TzxqActivity extends BaseActivity {
tz_yck_adapter = new Tz_Yck_Adapter(R.layout.item_jxt_tzxq, tzxqEntity.getData().getList().getRe_view());
ckRecycle.setLayoutManager(new GridLayoutManager(TzxqActivity.this, 1));
ckRecycle.setAdapter(tz_yck_adapter);
tvChakan.setText("已查看("+tzxqEntity.getData().getRe_view_num()+")");
tvChakan.setText("已查看(" + tzxqEntity.getData().getRe_view_num() + ")");
}
}
... ... @@ -261,8 +270,10 @@ public class TzxqActivity extends BaseActivity {
}
});
}
TextView text_time;
ExecutorService executorService;
// 开启线程,修改descTv
private void updateDescTv() {
Thread thread = new Thread(new Runnable() {
... ... @@ -282,7 +293,9 @@ public class TzxqActivity extends BaseActivity {
executorService = Executors.newSingleThreadExecutor();
executorService.execute(thread);
}
MyHandler myHandler = new MyHandler(this);
private static class MyHandler extends Handler {
private WeakReference<Activity> mActivity;
... ... @@ -310,6 +323,7 @@ public class TzxqActivity extends BaseActivity {
}
}
}
/**
* 判断字符串中是否有超链接,若有,则返回超链接。
*
... ... @@ -486,24 +500,24 @@ public class TzxqActivity extends BaseActivity {
@Override
protected void setEvent() {
tvJlxqSc.setOnClickListener(new View.OnClickListener() {
include_right.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
BottomMenu.show(TzxqActivity.this, new String[]{"转发", "撤回"}, new OnMenuItemClickListener() {
@Override
public void onClick(String text, int index) {
//返回参数 text 即菜单名称,index 即菜单索引
switch (index){
case 0 :
switch (index) {
case 0:
Intent intent = new Intent();
intent.setClass(TzxqActivity.this,FbtzA_ctivity.class);
intent.setClass(TzxqActivity.this, FbtzA_ctivity.class);
Gson gson = new Gson();
String Tzjson = gson.toJson(myTzxqEntity);
intent.putExtra("zhuanfa",Tzjson);
intent.putExtra("zhuanfa", Tzjson);
startActivity(intent);
break;
case 1 :
case 1:
showNoticeDialog();
break;
}
}
... ... @@ -512,6 +526,68 @@ public class TzxqActivity extends BaseActivity {
});
}
private PromptDialog mPromptDialog;
public void showNoticeDialog() {
if (mPromptDialog == null) {
mPromptDialog = new PromptDialog(TzxqActivity.this, R.style.PromptDialog);
mPromptDialog.setTitleText("撤销通知");
mPromptDialog.setContentText("确定要撤销通知吗?");
mPromptDialog.setPositiveListener("确定", new PromptDialog.OnPositiveListener() {
@Override
public void onClick(PromptDialog dialog) {
dialog.dismiss();
chehui();
}
});
mPromptDialog.setNegativeListener("取消",
new PromptDialog.OnNegativeListener() {
@Override
public void onClick(PromptDialog dialog) {
dialog.dismiss();
}
});
}
mPromptDialog.show();
}
/**
* 撤回活动
*/
private void chehui() {
WaitDialog.show(TzxqActivity.this, "请稍候...");
Api().getDeleteNotice(Config.Token, TzId)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<ActiveSignEntity>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(ActiveSignEntity addMbBean) {
WaitDialog.dismiss();
if (addMbBean.getCode() == M.success) {
Tz_Rv_Fragment.DO_REFRESH = true;
Toast.makeText(ctx, "" + addMbBean.getMsg(), Toast.LENGTH_SHORT).show();
finish();
}
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
}
class Audio_Adapter extends BaseQuickAdapter<VideoEntity, BaseViewHolder> {
public Audio_Adapter(int layoutResId, @Nullable List<VideoEntity> data) {
... ...
... ... @@ -204,7 +204,7 @@ public class All_Fragment extends BaseFragment {
List<JxtAllListEntity.DataBeanX.DataBean> dataBeans = adapter.getData();
Intent tzintent = new Intent(getContext(), TzxqActivity.class);
tzintent.putExtra("TzId", dataBeans.get(position).getId() + "");
tzintent.putExtra("isMy", dataBeans.get(position).getIs_author() + "");
tzintent.putExtra("isMy", dataBeans.get(position).getIs_author());
startActivity(tzintent);
jxt_listAdapter.notifyDataSetChanged();
break;
... ... @@ -320,7 +320,7 @@ public class All_Fragment extends BaseFragment {
List<JxtAllListEntity.DataBeanX.DataBean> dataBeans = adapter.getData();
Intent tzintent = new Intent(getContext(), TzxqActivity.class);
tzintent.putExtra("TzId", dataBeans.get(position).getId() + "");
tzintent.putExtra("isMy", dataBeans.get(position).getIs_author() + "");
tzintent.putExtra("isMy", dataBeans.get(position).getIs_author());
startActivity(tzintent);
jxt_listAdapter.notifyDataSetChanged();
break;
... ...
... ... @@ -384,6 +384,7 @@ public class Jl_Rv_Fragment extends BaseFragment {
super.onResume();
if (DO_REFRESH) {
setParam(1);
DO_REFRESH=false;
}
}
... ...
... ... @@ -4,12 +4,14 @@ package com.yinhebairong.clasmanage.ui.jxt.fragment.Tz;
import android.content.Intent;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
... ... @@ -23,11 +25,14 @@ import com.yinhebairong.clasmanage.m.M;
import com.yinhebairong.clasmanage.ui.jxt.activity.TZ.Tjtz_Activity;
import com.yinhebairong.clasmanage.ui.jxt.activity.TZ.TzxqActivity;
import com.yinhebairong.clasmanage.utils.CalendarStringtUtil;
import com.yinhebairong.clasmanage.view.DebugLog;
import com.yinhebairong.clasmanage.view.pickerwheelview.builder.TimePickerBuilder;
import com.yinhebairong.clasmanage.view.pickerwheelview.listener.OnTimeSelectListener;
import com.yinhebairong.clasmanage.view.pickerwheelview.utils.MyDataFormatUtil;
import com.yinhebairong.clasmanage.view.pickerwheelview.view.TimePickerView;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Locale;
... ... @@ -53,7 +58,17 @@ public class Tz_Rv_Fragment extends BaseFragment {
RecyclerView dataRv;
@BindView(R.id.tv_time)
TextView tv_time;
@BindView(R.id.tv_week)
TextView tv_week;
@BindView(R.id.my_sw)
SwipeRefreshLayout my_sw;
private TimePickerView mTimePicker3;//三级时间 年月日
//参数
private int page = 1;
private List<JxttzEntity.DataBeanX.DataBean> mList = new ArrayList<>();
@Override
protected void initView(View root) {
Calendar calendar = Calendar.getInstance();
... ... @@ -65,37 +80,60 @@ public class Tz_Rv_Fragment extends BaseFragment {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);
String dateString = simpleDateFormat.format(calendar.getTime());
tv_time.setText(dateString);
tv_week.setText(MyDataFormatUtil.dateToWeek(dateString));
mTimePicker3 = new TimePickerBuilder(getActivity(), new OnTimeSelectListener() {
@Override
public void onTimeSelect(String date, View v) {
tv_time.setText(date);
Calendar calendar = Calendar.getInstance();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);
String dateString = simpleDateFormat.format(calendar.getTime());
if (Config.IDENTITY==0){
if (dateString.equals(date)) {//今天
getDate(2, "");
} else {
getDate(2, date);
}
}else {
if (dateString.equals(date)) {//今天
getParentDate(2, "");
} else {
getParentDate(2, date);
}
}
tv_week.setText(MyDataFormatUtil.dateToWeek(date));
setParam(1);
}
}).setType(new boolean[]{true, true, true, false, false, false}).isDialog(false).setFormat("yyyy-MM-dd").setSelectChangeListener().
setTextXOffset(40, 0, -40, 0, 0, 0).build();
mTimePicker3.isBefore(false);
my_sw.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
Toast.makeText(getActivity(), "下拉刷新成功", Toast.LENGTH_SHORT).show();
my_sw.setRefreshing(false);
setParam(1);
}
});
jxt_tz_adapter = new Jxt_Tz_Adapter(R.layout.item_jxt_tz_item, mList);
dataRv.setLayoutManager(new LinearLayoutManager(getActivity()));
dataRv.setAdapter(jxt_tz_adapter);
jxt_tz_adapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
List<JxttzEntity.DataBeanX.DataBean> dataBeans = adapter.getData();
Intent tzintent = new Intent(getContext(), TzxqActivity.class);
tzintent.putExtra("TzId", dataBeans.get(position).getId() + "");
tzintent.putExtra("isMy", dataBeans.get(position).getIs_author());
startActivity(tzintent);
}
});
jxt_tz_adapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
if (mList.get(position).getIs_author() == 1) {
List<JxttzEntity.DataBeanX.DataBean> dataBeans = adapter.getData();
Intent tzintent = new Intent(getContext(), Tjtz_Activity.class);
tzintent.putExtra("TzId", dataBeans.get(position).getId() + "");
startActivity(tzintent);
}
}
});
}
@Override
protected void initListener() {
}
@OnClick({R.id.jxt_matter_li})
public void onViewClicked(View view) {
switch (view.getId()) {
... ... @@ -107,21 +145,19 @@ public class Tz_Rv_Fragment extends BaseFragment {
break;
}
}
@Override
protected void lazyLoad() {
}
@Override
protected void refreshLoad() {
if (Config.IDENTITY == 0) {//老师
getDate(2, "");
} else {
getParentDate(2,"");
}
setParam(1);
super.refreshLoad();
}
public void getDate(int type,String date) {
Api().getTzList(Config.Token, type,date)
public void getDate(int type, String date) {
Api().getTzList(Config.Token, type, date,page)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<JxttzEntity>() {
... ... @@ -133,36 +169,34 @@ public class Tz_Rv_Fragment extends BaseFragment {
@Override
public void onNext(JxttzEntity jxttzEntity) {
if (jxttzEntity.getCode() == M.success) {
List<JxttzEntity.DataBeanX.DataBean> data = jxttzEntity.getData().getData();
jxt_tz_adapter = new Jxt_Tz_Adapter(R.layout.item_jxt_tz_item, data);
dataRv.setLayoutManager(new LinearLayoutManager(getActivity()));
dataRv.setAdapter(jxt_tz_adapter);
jxt_tz_adapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
List<JxttzEntity.DataBeanX.DataBean> dataBeans = adapter.getData();
Intent tzintent = new Intent(getContext(), TzxqActivity.class);
tzintent.putExtra("TzId", dataBeans.get(position).getId() + "");
tzintent.putExtra("isMy", dataBeans.get(position).getIs_author() + "");
startActivity(tzintent);
jxt_tz_adapter.notifyDataSetChanged();
if (page == 1 || page == 0) {
dataRv.scrollToPosition(0);
mList.clear();
}
mList.addAll(jxttzEntity.getData().getData());
}
});
jxt_tz_adapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
page = jxttzEntity.getData().getCurrent_page() + 1;
jxt_tz_adapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
if (jxttzEntity.getData().getData().get(position).getIs_author()==1){
List<JxttzEntity.DataBeanX.DataBean> dataBeans = adapter.getData();
Intent tzintent = new Intent(getContext(), Tjtz_Activity.class);
tzintent.putExtra("TzId", dataBeans.get(position).getId() + "");
startActivity(tzintent);
jxt_tz_adapter.notifyDataSetChanged();
}
public void onLoadMoreRequested() {
dataRv.postDelayed(new Runnable() {
@Override
public void run() {
if (jxttzEntity.getData().getCurrent_page() >= jxttzEntity.getData().getLast_page()) {
//数据全部加载完毕
jxt_tz_adapter.loadMoreEnd();
} else {
setParam(page);
}
}
}, 1000);
}
});
}, dataRv);
jxt_tz_adapter.notifyDataSetChanged();
}
}
@Override
public void onError(Throwable e) {
if (e.hashCode() == 401) {
... ... @@ -176,8 +210,8 @@ public class Tz_Rv_Fragment extends BaseFragment {
});
}
public void getParentDate(int type,String date) {
Api().getTzJZlist(Config.Token, type,date)
public void getParentDate(int type, String date) {
Api().getTzJZlist(Config.Token, type, date)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<TzlistJzEntity>() {
... ... @@ -216,131 +250,147 @@ public class Tz_Rv_Fragment extends BaseFragment {
});
}
public static boolean DO_REFRESH = true;
@Override
public void onResume() {
super.onResume();
if (DO_REFRESH) {
setParam(1);
DO_REFRESH=false;
}
}
/**
* 设置参数-请求
*
* @param page 页
*/
private void setParam(int page) {
DebugLog.e("wkk2====" + DO_REFRESH);
Calendar calendar = Calendar.getInstance();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);
String dateString = simpleDateFormat.format(calendar.getTime());
if (Config.IDENTITY == 0) {//老师
Calendar calendar = Calendar.getInstance();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);
String dateString = simpleDateFormat.format(calendar.getTime());
if (dateString.equals(tv_time.getText().toString())) {//今天
this.page = page;
getDate(2, "");
} else {
this.page = page;
getDate(2, tv_time.getText().toString());
}
} else {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);
String dateString = simpleDateFormat.format(calendar.getTime());
if (dateString.equals(tv_time.getText().toString())) {//今天
getParentDate(2,"");
this.page = page;
getParentDate(2, "");
} else {
this.page = page;
getParentDate(2, tv_time.getText().toString());
}
}
}
}
class Jxt_Tz_Adapter extends BaseQuickAdapter<JxttzEntity.DataBeanX.DataBean, BaseViewHolder> {
public Jxt_Tz_Adapter(int layoutResId, @Nullable List<JxttzEntity.DataBeanX.DataBean> data) {
super(layoutResId, data);
}
class Jxt_Tz_Adapter extends BaseQuickAdapter<JxttzEntity.DataBeanX.DataBean, BaseViewHolder> {
public Jxt_Tz_Adapter(int layoutResId, @Nullable List<JxttzEntity.DataBeanX.DataBean> data) {
super(layoutResId, data);
@Override
protected void convert(BaseViewHolder helper, JxttzEntity.DataBeanX.DataBean item) {
TextView leixing_text = helper.itemView.findViewById(R.id.leixing_text);
ImageView leixin_cone = helper.itemView.findViewById(R.id.leixin_cone);
TextView state_text = helper.itemView.findViewById(R.id.state_text);
TextView title = helper.itemView.findViewById(R.id.title);
TextView content_tv = helper.itemView.findViewById(R.id.content_tv);
TextView class_tv = helper.itemView.findViewById(R.id.class_tv);
TextView teacher_tv = helper.itemView.findViewById(R.id.teacher_tv);
TextView date_tv = helper.itemView.findViewById(R.id.date_tv);
TextView state_tv = helper.itemView.findViewById(R.id.state_tv);
TextView yellow_tv = helper.itemView.findViewById(R.id.yellow_tv);
TextView gray_tv = helper.itemView.findViewById(R.id.gray_tv);
TextView massage_num = helper.itemView.findViewById(R.id.massage_num);
LinearLayout ck_lin = helper.itemView.findViewById(R.id.ck_lin);
if (item.getLabel().equals("通知")) {
leixing_text.setText(item.getLabel());
leixin_cone.setImageResource(R.mipmap.icon_worktz2);
leixing_text.setBackgroundResource(R.mipmap.icon_worktz1);
} else if (item.getLabel().equals("喜报")) {
leixing_text.setText(item.getLabel());
leixin_cone.setImageResource(R.mipmap.icon_news2);
leixing_text.setBackgroundResource(R.mipmap.icon_news1);
} else if (item.getLabel().equals("警示")) {
leixing_text.setText(item.getLabel());
leixin_cone.setImageResource(R.mipmap.icon_caution2);
leixing_text.setBackgroundResource(R.mipmap.icon_caution1);
}
title.setText(item.getTitle());
content_tv.setText(item.getContent());
class_tv.setText(item.getClass_name());
teacher_tv.setText(item.getTeacher_name());
date_tv.setText(item.getDate());
yellow_tv.setText(item.getView_num() + "");
gray_tv.setText("/" + item.getTotal_num());
helper.addOnClickListener(R.id.ck_lin);
state_tv.setText(item.getStatus_text());
if (item.getUncomment_num().equals("")) {
massage_num.setVisibility(View.GONE);
} else {
massage_num.setText(item.getUncomment_num() + "");
}
@Override
protected void convert(BaseViewHolder helper, JxttzEntity.DataBeanX.DataBean item) {
TextView leixing_text = helper.itemView.findViewById(R.id.leixing_text);
ImageView leixin_cone = helper.itemView.findViewById(R.id.leixin_cone);
TextView state_text = helper.itemView.findViewById(R.id.state_text);
TextView title = helper.itemView.findViewById(R.id.title);
TextView content_tv = helper.itemView.findViewById(R.id.content_tv);
TextView class_tv = helper.itemView.findViewById(R.id.class_tv);
TextView teacher_tv = helper.itemView.findViewById(R.id.teacher_tv);
TextView date_tv = helper.itemView.findViewById(R.id.date_tv);
TextView state_tv = helper.itemView.findViewById(R.id.state_tv);
TextView yellow_tv = helper.itemView.findViewById(R.id.yellow_tv);
TextView gray_tv = helper.itemView.findViewById(R.id.gray_tv);
TextView massage_num = helper.itemView.findViewById(R.id.massage_num);
LinearLayout ck_lin = helper.itemView.findViewById(R.id.ck_lin);
if (item.getLabel().equals("通知")){
leixing_text.setText(item.getLabel());
leixin_cone.setImageResource(R.mipmap.icon_worktz2);
leixing_text.setBackgroundResource(R.mipmap.icon_worktz1);
}else if (item.getLabel().equals("喜报")){
leixing_text.setText(item.getLabel());
leixin_cone.setImageResource(R.mipmap.icon_news2);
leixing_text.setBackgroundResource(R.mipmap.icon_news1);
}else if (item.getLabel().equals("警示")){
leixing_text.setText(item.getLabel());
leixin_cone.setImageResource(R.mipmap.icon_caution2);
leixing_text.setBackgroundResource(R.mipmap.icon_caution1);
}
title.setText(item.getTitle());
content_tv.setText(item.getContent());
class_tv.setText(item.getClass_name());
teacher_tv.setText(item.getTeacher_name());
date_tv.setText(item.getDate());
yellow_tv.setText(item.getView_num() + "");
gray_tv.setText("/" + item.getTotal_num());
helper.addOnClickListener(R.id.ck_lin);
state_tv.setText(item.getStatus_text());
if (item.getUncomment_num().equals("")){
massage_num.setVisibility(View.GONE);
}else {
massage_num.setText(item.getUncomment_num()+"");
}
}
}
}
class Jxt_Tz_jzAdapter extends BaseQuickAdapter<TzlistJzEntity.DataBeanX.DataBean, BaseViewHolder> {
public Jxt_Tz_jzAdapter(int layoutResId, @Nullable List<TzlistJzEntity.DataBeanX.DataBean> data) {
super(layoutResId, data);
}
class Jxt_Tz_jzAdapter extends BaseQuickAdapter<TzlistJzEntity.DataBeanX.DataBean,BaseViewHolder>{
public Jxt_Tz_jzAdapter(int layoutResId, @Nullable List<TzlistJzEntity.DataBeanX.DataBean> data) {
super(layoutResId, data);
@Override
protected void convert(BaseViewHolder helper, TzlistJzEntity.DataBeanX.DataBean item) {
TextView leixing_text = helper.itemView.findViewById(R.id.leixing_text);
TextView title = helper.itemView.findViewById(R.id.title);
ImageView leixin_cone = helper.itemView.findViewById(R.id.leixin_cone);
TextView content_tv = helper.itemView.findViewById(R.id.content_tv);
TextView class_tv = helper.itemView.findViewById(R.id.class_tv);
TextView teacher_tv = helper.itemView.findViewById(R.id.teacher_tv);
TextView date_tv = helper.itemView.findViewById(R.id.date_tv);
TextView state_tv = helper.itemView.findViewById(R.id.state_tv);
TextView yellow_tv = helper.itemView.findViewById(R.id.yellow_tv);
TextView gray_tv = helper.itemView.findViewById(R.id.gray_tv);
TextView massage_num = helper.itemView.findViewById(R.id.massage_num);
LinearLayout ck_lin = helper.itemView.findViewById(R.id.ck_lin);
if (item.getLabel().equals("通知")) {
leixing_text.setText(item.getLabel());
leixin_cone.setImageResource(R.mipmap.icon_worktz2);
leixing_text.setBackgroundResource(R.mipmap.icon_worktz1);
} else if (item.getLabel().equals("喜报")) {
leixing_text.setText(item.getLabel());
leixin_cone.setImageResource(R.mipmap.icon_news2);
leixing_text.setBackgroundResource(R.mipmap.icon_news1);
} else if (item.getLabel().equals("警示")) {
leixing_text.setText(item.getLabel());
leixin_cone.setImageResource(R.mipmap.icon_caution2);
leixing_text.setBackgroundResource(R.mipmap.icon_caution1);
}
@Override
protected void convert(BaseViewHolder helper, TzlistJzEntity.DataBeanX.DataBean item) {
TextView leixing_text = helper.itemView.findViewById(R.id.leixing_text);
TextView title = helper.itemView.findViewById(R.id.title);
ImageView leixin_cone = helper.itemView.findViewById(R.id.leixin_cone);
TextView content_tv = helper.itemView.findViewById(R.id.content_tv);
TextView class_tv = helper.itemView.findViewById(R.id.class_tv);
TextView teacher_tv = helper.itemView.findViewById(R.id.teacher_tv);
TextView date_tv = helper.itemView.findViewById(R.id.date_tv);
TextView state_tv = helper.itemView.findViewById(R.id.state_tv);
TextView yellow_tv = helper.itemView.findViewById(R.id.yellow_tv);
TextView gray_tv = helper.itemView.findViewById(R.id.gray_tv);
TextView massage_num = helper.itemView.findViewById(R.id.massage_num);
LinearLayout ck_lin = helper.itemView.findViewById(R.id.ck_lin);
if (item.getLabel().equals("通知")){
leixing_text.setText(item.getLabel());
leixin_cone.setImageResource(R.mipmap.icon_worktz2);
leixing_text.setBackgroundResource(R.mipmap.icon_worktz1);
}else if (item.getLabel().equals("喜报")){
leixing_text.setText(item.getLabel());
leixin_cone.setImageResource(R.mipmap.icon_news2);
leixing_text.setBackgroundResource(R.mipmap.icon_news1);
}else if (item.getLabel().equals("警示")){
leixing_text.setText(item.getLabel());
leixin_cone.setImageResource(R.mipmap.icon_caution2);
leixing_text.setBackgroundResource(R.mipmap.icon_caution1);
}
title.setText(item.getTitle());
content_tv.setText(item.getContent());
class_tv.setText(item.getClass_name());
teacher_tv.setText(item.getTeacher_name());
date_tv.setText(item.getDate());
yellow_tv.setText(item.getView_num() + "");
gray_tv.setText("/" + item.getTotal_num());
yellow_tv.setVisibility(View.GONE);
gray_tv.setVisibility(View.GONE);
helper.addOnClickListener(R.id.ck_lin);
state_tv.setText(item.getStatus_text());
if (item.getStatus()==2){
massage_num.setVisibility(View.GONE);
}else {
massage_num.setText(1+"");
}
title.setText(item.getTitle());
content_tv.setText(item.getContent());
class_tv.setText(item.getClass_name());
teacher_tv.setText(item.getTeacher_name());
date_tv.setText(item.getDate());
yellow_tv.setText(item.getView_num() + "");
gray_tv.setText("/" + item.getTotal_num());
yellow_tv.setVisibility(View.GONE);
gray_tv.setVisibility(View.GONE);
helper.addOnClickListener(R.id.ck_lin);
state_tv.setText(item.getStatus_text());
if (item.getStatus() == 2) {
massage_num.setVisibility(View.GONE);
} else {
massage_num.setText(1 + "");
}
}
}
... ...
... ... @@ -32,7 +32,7 @@ public class TzimgAdapter extends BaseQuickAdapter<JxtImageEntity, BaseViewHolde
item_select_pic_video.setVisibility(View.VISIBLE);
}
helper.addOnClickListener(R.id.v_delete);
helper.addOnClickListener(R.id.item_select_pic_video);
// helper.addOnClickListener(R.id.item_select_pic_video);
}
}
... ...
... ... @@ -70,7 +70,7 @@
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_15"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1">
android:layout_height="1px">
</View>
</LinearLayout>
<LinearLayout
... ... @@ -118,7 +118,8 @@
android:layout_width="match_parent"
android:layout_height="@dimen/dp_50"
android:id="@+id/moBan_Rv"
android:layout_marginRight="@dimen/dp_8"
android:paddingRight="@dimen/dp_16"
android:paddingLeft="@dimen/dp_16"
android:layout_marginBottom="@dimen/dp_16"/>
</LinearLayout>
... ...
... ... @@ -48,7 +48,7 @@
android:background="@null"
android:hint="请输入账号"
android:maxLines="1"
android:text="15825260252"
android:text="13769183554"
android:textColor="@color/color_bdc4ce"
android:textSize="@dimen/sp_16" />
... ...
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#F7F7F7"
android:orientation="vertical"
tools:context=".ui.jxt.activity.TZ.TzxqActivity">
<LinearLayout
<RelativeLayout
android:id="@+id/titie"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
>
android:layout_height="@dimen/dp_45"
android:background="@color/white"
android:gravity="center_vertical">
<ImageView
android:id="@+id/include_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/back_icon"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/dp_6"
android:id="@+id/include_back"
android:padding="@dimen/dp_10"
/>
android:src="@mipmap/back_icon" />
<TextView
android:layout_width="0dp"
android:layout_weight="1"
android:id="@+id/include_name"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:textSize="@dimen/sp_16"
android:text="通知详情"
android:textColor="@color/color_06121e"
android:textStyle="bold"
android:id="@+id/include_name"
/>
android:textSize="@dimen/sp_16"
android:textStyle="bold" />
<ImageView
android:id="@+id/tv_jlxq_sc"
android:layout_marginRight="@dimen/dp_16"
android:layout_width="@dimen/dp_21"
android:layout_height="@dimen/dp_21"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="@dimen/dp_16"
android:src="@mipmap/icon_more" />
</LinearLayout>
</RelativeLayout>
<RelativeLayout
android:layout_marginTop="@dimen/dp_20"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_below="@+id/titie"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/titie"
android:orientation="vertical">
<LinearLayout
android:id="@+id/teacher_lin"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_68"
android:background="#FFFFFF"
android:orientation="horizontal">
<ImageView
android:id="@+id/jlxq_img"
android:layout_marginLeft="@dimen/dp_16"
android:layout_width="@dimen/dp_44"
android:layout_height="@dimen/dp_44"
android:layout_gravity="center_vertical"
/>
android:layout_marginLeft="@dimen/dp_16" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_8"
android:orientation="vertical">
<TextView
android:id="@+id/jl_ls_name"
android:layout_marginTop="@dimen/dp_12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/sp_16"
android:textColor="#3D444D"/>
android:layout_marginTop="@dimen/dp_12"
android:textColor="#3D444D"
android:textSize="@dimen/sp_16" />
<TextView
android:id="@+id/jl_bj"
android:layout_marginTop="@dimen/dp_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_4"
android:textColor="#8C9198"
android:textSize="@dimen/sp_12"/>
android:textSize="@dimen/sp_12" />
</LinearLayout>
<TextView
android:id="@+id/jl_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#8C9198"
android:layout_marginLeft="@dimen/dp_4"
android:layout_marginTop="@dimen/dp_38"
android:textSize="@dimen/sp_12"/>
android:textColor="#8C9198"
android:textSize="@dimen/sp_12" />
</LinearLayout>
<LinearLayout
android:layout_marginTop="@dimen/dp_5"
android:background="@drawable/shape_solid_4_fff"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_5"
android:layout_marginRight="@dimen/dp_16"
android:background="@drawable/shape_solid_4_fff"
android:orientation="vertical">
<TextView
android:id="@+id/tz_title_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/sp_16"
android:layout_marginLeft="@dimen/dp_15"
android:textStyle="bold"
android:id="@+id/tz_title_tv"
android:layout_marginTop="@dimen/dp_20"
android:textColor="#3D444D"/>
android:textColor="#3D444D"
android:textSize="@dimen/sp_16"
android:textStyle="bold" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#EBEBEB"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_13"
android:layout_marginRight="@dimen/dp_15"
android:layout_marginLeft="@dimen/dp_15"
/>
android:background="#EBEBEB" />
<TextView
android:layout_marginTop="@dimen/dp_8"
android:id="@+id/tz_xqlist"
android:layout_marginRight="@dimen/dp_15"
android:layout_marginLeft="@dimen/dp_15"
android:layout_width="match_parent"
android:layout_height="match_parent">
</TextView>
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_8"
android:layout_marginRight="@dimen/dp_15"></TextView>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:orientation="vertical">
<android.support.v7.widget.RecyclerView
android:id="@+id/voice_recycler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#FFFFFF"
android:paddingBottom="@dimen/dp_10"
android:paddingHorizontal="@dimen/dp_16"></android.support.v7.widget.RecyclerView>
android:paddingHorizontal="@dimen/dp_16"
android:paddingBottom="@dimen/dp_10"></android.support.v7.widget.RecyclerView>
<android.support.v7.widget.RecyclerView
android:id="@+id/img_recycle"
... ... @@ -164,42 +167,42 @@
</LinearLayout>
<!-- <androidx.recyclerview.widget.RecyclerView-->
<!-- android:id="@+id/rv_ck"-->
<!-- android:paddingHorizontal="@dimen/dp_16"-->
<!-- android:background="#FFFFFF"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content">-->
<!-- <androidx.recyclerview.widget.RecyclerView-->
<!-- android:id="@+id/rv_ck"-->
<!-- android:paddingHorizontal="@dimen/dp_16"-->
<!-- android:background="#FFFFFF"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content">-->
<!-- </androidx.recyclerview.widget.RecyclerView>-->
<!-- </androidx.recyclerview.widget.RecyclerView>-->
</LinearLayout>
<LinearLayout
android:id="@+id/ll_ck"
android:orientation="vertical"
android:layout_marginTop="@dimen/sp_16"
android:textColor="#5B5E63"
android:background="#FFFFFF"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/dp_16"
android:layout_marginTop="@dimen/sp_16"
android:layout_marginRight="@dimen/dp_16"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:background="#FFFFFF"
android:orientation="vertical"
android:textColor="#5B5E63">
<TextView
android:id="@+id/tv_chakan"
android:text="已查看(0)"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/sp_10"
android:text="已查看(0)"
android:textColor="#5B5E63"
android:layout_width="match_parent"
android:textSize="@dimen/dp_14"
android:layout_height="wrap_content">
</TextView>
android:textSize="@dimen/dp_14"></TextView>
<android.support.v7.widget.RecyclerView
android:id="@+id/ck_recycle"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v7.widget.RecyclerView>
android:layout_height="match_parent"></android.support.v7.widget.RecyclerView>
</LinearLayout>
... ...
... ... @@ -44,12 +44,7 @@
</LinearLayout>
<!-- 日期RecyclerView -->
<android.support.v7.widget.RecyclerView
android:layout_below="@id/jxt_matter_li"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/data_rv"></android.support.v7.widget.RecyclerView>
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/my_sw"
android:layout_width="match_parent"
android:layout_height="wrap_content"
... ... @@ -61,7 +56,7 @@
android:layout_height="match_parent"
android:background="@color/bg"
android:layout_below="@id/jxt_matter_li"></androidx.recyclerview.widget.RecyclerView>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
</android.support.v4.widget.SwipeRefreshLayout>
</RelativeLayout>
</RelativeLayout>
\ No newline at end of file
... ...
... ... @@ -7,8 +7,8 @@
<RelativeLayout
android:layout_width="match_parent"
android:background="#F7F7F7"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:background="#F7F7F7">
<!-- 代办事项 -->
<LinearLayout
android:id="@+id/jxt_matter_li"
... ... @@ -34,6 +34,16 @@
android:textSize="@dimen/sp_15"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_week"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_8"
android:text=""
android:textColor="@color/color_3d444d"
android:textSize="@dimen/sp_15"
android:textStyle="bold" />
<View
android:layout_width="@dimen/dp_0"
android:layout_height="wrap_content"
... ... @@ -47,11 +57,18 @@
</LinearLayout>
<!-- 日期RecyclerView -->
<android.support.v7.widget.RecyclerView
android:layout_below="@id/jxt_matter_li"
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/my_sw"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/data_rv"></android.support.v7.widget.RecyclerView>
android:layout_height="wrap_content"
android:layout_below="@id/jxt_matter_li">
<android.support.v7.widget.RecyclerView
android:id="@+id/data_rv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/jxt_matter_li"></android.support.v7.widget.RecyclerView>
</android.support.v4.widget.SwipeRefreshLayout>
</RelativeLayout>
</RelativeLayout>
\ No newline at end of file
... ...