liufuhua007

重构代码

Showing 41 changed files with 1443 additions and 2123 deletions
......@@ -24,6 +24,9 @@ android {
abiFilters 'armeabi-v7a', "arm64-v8a"
}
}
buildFeatures {
viewBinding true
}
signingConfigs {
debug {
......@@ -58,7 +61,7 @@ android {
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_8
}
......@@ -119,21 +122,22 @@ dependencies {
implementation 'com.squareup.okio:okio:1.9.0'
implementation('com.jakewharton:butterknife:10.0.0') {
exclude group: 'com.android.support'
}
annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
// implementation('com.jakewharton:butterknife:10.0.0') {
// exclude group: 'com.android.support'
// }
// annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
implementation 'com.github.bumptech.glide:glide:4.0.0'
implementation 'androidx.appcompat:appcompat:1.3.0-alpha02'
//implementation files('libs\\photoview.jar')
implementation 'com.itextpdf:itext7-core:7.1.13'
implementation 'com.github.barteksc:android-pdf-viewer:2.5.1'
// implementation 'com.github.barteksc:android-pdf-viewer:2.5.1'
//implementation 'com.github.barteksc:android-pdf-viewer:3.2.0-beta.1'
implementation files('libs\\signature-pad.jar')
implementation 'com.github.barteksc:android-pdf-viewer:3.2.0-beta.1'
// implementation files('libs\\signature-pad.jar')
// implementation 'com.github.gcacace:signature-pad:1.3.1' // 或最新版本
implementation 'com.github.mhiew:android-pdf-viewer:3.2.0-beta.1'
implementation files('libs\\dcm4che-core-5.27.0.jar')
implementation files('libs\\dcm4che-net-5.27.0.jar')
......
......@@ -10,13 +10,12 @@ import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.Nullable;
import androidx.viewbinding.ViewBinding;
import butterknife.ButterKnife;
public abstract class BaseFragment extends Fragment
implements View.OnClickListener, HomeCallback {
protected View rootView;
public abstract class BaseFragment<VB extends ViewBinding> extends Fragment
implements HomeCallback {
protected VB binding; // ViewBinding 变量
public HomeActivity homeActivity;
public BaseFragment homeFragment;
public String TAG = "";
......@@ -38,32 +37,31 @@ public abstract class BaseFragment extends Fragment
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
rootView = inflater.inflate(rootLayout(), container, false);
ButterKnife.bind(this, rootView);
binding = getViewBinding(inflater, container);
context = getActivity().getApplicationContext();
init();
setListener();
return rootView;
return binding.getRoot();
}
@Override
public void onResume() {
super.onResume();
if (rootView != null) {
rootView.setOnTouchListener(homeActivity);
if (binding != null) {
binding.getRoot().setOnTouchListener(homeActivity);
}
}
@Override
public void onHiddenChanged(boolean hidden) {
super.onHiddenChanged(hidden);
if (rootView != null) {
rootView.setOnTouchListener(homeActivity);
if (binding != null) {
binding.getRoot().setOnTouchListener(homeActivity);
if (hidden) {
//隐藏的时候
rootView.setVisibility(View.GONE);
binding.getRoot().setVisibility(View.GONE);
} else {
rootView.setVisibility(View.VISIBLE);
binding.getRoot().setVisibility(View.VISIBLE);
}
}
}
......@@ -76,10 +74,9 @@ public abstract class BaseFragment extends Fragment
}
public View getRootView() {
return rootView;
return binding != null ? binding.getRoot() : null;
}
protected abstract int rootLayout();
protected abstract VB getViewBinding(LayoutInflater inflater, ViewGroup container);
protected abstract void init();
......
......@@ -42,6 +42,7 @@ import com.sw.laryngoscope.base.factory.CreatePresenter;
import com.sw.laryngoscope.camera.VideoModule;
import com.sw.laryngoscope.common.Constant;
import com.sw.laryngoscope.common.InitParam;
import com.sw.laryngoscope.databinding.ActivityMainBinding;
import com.sw.laryngoscope.db.AccountInfoDB;
import com.sw.laryngoscope.db.RecordInfoDB;
import com.sw.laryngoscope.floatwindow.FloatWindowManager;
......@@ -64,9 +65,6 @@ import org.jetbrains.annotations.NotNull;
import java.util.List;
import java.util.UUID;
import butterknife.BindView;
import butterknife.OnClick;
/**
* @Description 这里用一句话描述
* @Author
......@@ -74,54 +72,13 @@ import butterknife.OnClick;
*/
@CreatePresenter(HomePresenter.class)
public class HomeActivity extends
BaseActivity<HomeView, HomePresenter>
BaseActivity<HomeView, HomePresenter, ActivityMainBinding>
implements
HomeView, View.OnClickListener,
CustomTimer.TimerCallBack, View.OnTouchListener,
LogoutTimerManager.LogoutCallBack,
StorageStateManager.CallBack,
HomeView, CustomTimer.TimerCallBack, View.OnTouchListener,
LogoutTimerManager.LogoutCallBack, StorageStateManager.CallBack,
RadioGroup.OnCheckedChangeListener, PermissionManager.OnPermissionsCallback,
BatteryStateViewUtil.OnBatteryChargeLitener {
@BindView(R.id.batterView)
public BatteryStateView batterView;
@BindView(R.id.img_usb)
public ImageView img_usb;
@BindView(R.id.layout_home_left)
View layout_home_left;
@BindView(R.id.rg_home_bottom)
public RadioGroup rg_home_bottom;
@BindView(R.id.btn_real_time_display)
public RadioButton btn_real_time_display;
@BindView(R.id.btn_file)
public RadioButton btn_file;
@BindView(R.id.btn_user)
public RadioButton btn_user;
@BindView(R.id.btn_set)
public RadioButton btn_set;
@BindView(R.id.layout_home_left_o)
View layout_home_left_o;
@BindView(R.id.rg_home_bottom_o)
RadioGroup rg_home_bottom_o;
@BindView(R.id.btn_real_time_display_o)
RadioButton btn_real_time_display_o;
@BindView(R.id.btn_file_o)
RadioButton btn_file_o;
@BindView(R.id.btn_user_o)
RadioButton btn_user_o;
@BindView(R.id.btn_set_o)
RadioButton btn_set_o;
@BindView(R.id.txt_device_id)
TextView txt_device_id;
@BindView(R.id.img_user_icon)
ImageView img_user_icon;
@BindView(R.id.txt_user_name)
TextView txt_user_name;
protected Context context;
public FragmentManager fragmentManager;
......@@ -143,6 +100,11 @@ public class HomeActivity extends
public static boolean isInMainWin = false;
@Override
protected ActivityMainBinding getViewBinding() {
return ActivityMainBinding.inflate(getLayoutInflater());
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context = getApplicationContext();
......@@ -159,36 +121,36 @@ public class HomeActivity extends
LogoutTimerManager.getInstance().setCallback(this);
TimerChangeManager.getInstance().startThread(this);
txt_device_id.setText(getString(R.string.string_dev_id, getRandomUUID()));
binding.txtDeviceId.setText(getString(R.string.string_dev_id, getRandomUUID()));
}
public void setUseName() {
if ( !AccountManager.getInstance().isLogin() && !SpManager.get_no_login_visit_doc() ) {
btn_file.setBackgroundResource(R.drawable.bg_real_time_display_disable);
btn_file_o.setBackgroundResource(R.drawable.bg_real_time_display_disable);
btn_file.setChecked(false);
btn_file_o.setChecked(false);
binding.layoutHomeLeft.btnFile.setBackgroundResource(R.drawable.bg_real_time_display_disable);
binding.layoutHomeLeftO.btnFileO.setBackgroundResource(R.drawable.bg_real_time_display_disable);
binding.layoutHomeLeft.btnFile.setChecked(false);
binding.layoutHomeLeftO.btnFileO.setChecked(false);
//setDrawTop(btn_file, R.drawable.btn_menu_file_disable);
//setDrawTop(btn_file_o, R.drawable.btn_menu_file_disable);
} else {
btn_file.setBackgroundResource(R.drawable.bg_real_time_display_select);
btn_file_o.setBackgroundResource(R.drawable.bg_real_time_display_select);
binding.layoutHomeLeft.btnFile.setBackgroundResource(R.drawable.bg_real_time_display_select);
binding.layoutHomeLeftO.btnFileO.setBackgroundResource(R.drawable.bg_real_time_display_select);
//setDrawTop(btn_file, R.drawable.btn_menu_file);
//setDrawTop(btn_file_o, R.drawable.btn_menu_file);
}
AccountInfoDB mTmp = AccountManager.getInstance().getLoginAcc();
if ( mTmp.getUserType() != InitParam.USER_TYPE_GUEST ) {
txt_user_name.setText(mTmp.getName());
binding.txtUserName.setText(mTmp.getName());
} else {
//txt_user_name.setText(R.string.string_guest);
txt_user_name.setText("");
binding.txtUserName.setText("");
}
if ( mTmp.getUserType() != InitParam.USER_TYPE_GUEST ) {
img_user_icon.setImageResource(mTmp.getUserType() == 1 ?
binding.imgUserIcon.setImageResource(mTmp.getUserType() == 1 ?
R.mipmap.img_admin_user : R.mipmap.img_normal_user);
} else {
img_user_icon.setImageResource(R.mipmap.img_normal_user);
binding.imgUserIcon.setImageResource(R.mipmap.img_normal_user);
}
}
......@@ -232,7 +194,7 @@ public class HomeActivity extends
String path = StorageStateManager.getInstance().getUdiskPath();
Logger.d(TAG, " + path " + path);
if ( Storage.isCheckExist(path) && SpManager.get_usb_input_enabled() ) {
img_usb.setVisibility(View.VISIBLE);
binding.layoutHomeLeft.imgUsb.setVisibility(View.VISIBLE);
}
/*txt_test.setOnMultiClickListener(() -> {
......@@ -258,11 +220,11 @@ public class HomeActivity extends
public void showSettingIcon() {
if ( AccountManager.getInstance().isLogin() ) {
btn_set_o.setVisibility(View.VISIBLE);
btn_set.setVisibility(View.VISIBLE);
binding.layoutHomeLeftO.btnSetO.setVisibility(View.VISIBLE);
binding.layoutHomeLeft.btnSet.setVisibility(View.VISIBLE);
} else {
btn_set_o.setVisibility(View.GONE);
btn_set.setVisibility(View.GONE);
binding.layoutHomeLeftO.btnSetO.setVisibility(View.GONE);
binding.layoutHomeLeft.btnSet.setVisibility(View.GONE);
}
}
......@@ -319,110 +281,90 @@ public class HomeActivity extends
}
@Override
protected int getLayoutId() {
return R.layout.activity_main;
}
@Override
@OnClick({ R.id.txt_device_id, })
public void onClick(View view) {
switch (view.getId()) {
case R.id.txt_device_id:
//logout();
break;
/*case R.id.btn_head_back:
currFragment.pageBack();
break;*/
default:
break;
}
}
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
return false;
}
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
if ( layout_home_left.getVisibility() == View.VISIBLE ) {
switch (rg_home_bottom.getCheckedRadioButtonId()) {
if (binding.layoutHomeLeft.getRoot().getVisibility() == View.VISIBLE ) {
switch (binding.layoutHomeLeft.rgHomeBottom.getCheckedRadioButtonId()) {
case R.id.btn_real_time_display://首页
Logger.d(TAG, "======showFragment======btn_real_time_display"+btn_real_time_display.isPressed());
if( btn_real_time_display.isPressed() ) {
Logger.d(TAG, "======showFragment======btn_real_time_display"+ binding.layoutHomeLeft.btnRealTimeDisplay.isPressed());
if( binding.layoutHomeLeft.btnRealTimeDisplay.isPressed() ) {
showHomeFragment();
}
break;
case R.id.btn_file:
Logger.d(TAG, "======showFragment======btn_file"+btn_file.isPressed());
Logger.d(TAG, "======showFragment======btn_file"+ binding.layoutHomeLeft.btnFile.isPressed());
if ( !AccountManager.getInstance().isLogin() ) {
if ( !SpManager.get_no_login_visit_doc() ) {
MyApplication.showToastLong1(getString(R.string.string_no_visit_doc_tip));
return ;
}
}
if( btn_file.isPressed() ) {
if( binding.layoutHomeLeft.btnFile.isPressed() ) {
showFileFragment();
//layout_home_left.setVisibility(View.GONE);
//layout_home_left_o.setVisibility(View.VISIBLE);
btn_file_o.setChecked(true);
binding.layoutHomeLeftO.btnFileO.setChecked(true);
}
break;
case R.id.btn_user:
Logger.d(TAG, "======showFragment======btn_user"+btn_user.isPressed());
if( btn_user.isPressed() ) {
Logger.d(TAG, "======showFragment======btn_user"+binding.layoutHomeLeft.btnUser.isPressed());
if( binding.layoutHomeLeft.btnUser.isPressed() ) {
showUserFragment();
//layout_home_left.setVisibility(View.GONE);
//layout_home_left_o.setVisibility(View.VISIBLE);
btn_user_o.setChecked(true);
binding.layoutHomeLeftO.btnUserO.setChecked(true);
}
break;
case R.id.btn_set:
Logger.d(TAG, "======showFragment======btn_set"+btn_set.isPressed());
if( btn_set.isPressed() ) {
Logger.d(TAG, "======showFragment======btn_set"+binding.layoutHomeLeft.btnSet.isPressed());
if( binding.layoutHomeLeft.btnSet.isPressed() ) {
showSettingFragment();
}
break;
}
}
if ( layout_home_left_o.getVisibility() == View.VISIBLE ) {
switch (rg_home_bottom_o.getCheckedRadioButtonId()) {
if ( binding.layoutHomeLeftO.getRoot().getVisibility() == View.VISIBLE ) {
switch (binding.layoutHomeLeftO.rgHomeBottomO.getCheckedRadioButtonId()) {
case R.id.btn_real_time_display_o:
Logger.d(TAG, "======showFragment======btn_real_time_display_o"+btn_real_time_display_o.isPressed());
if( btn_real_time_display_o.isPressed() ) {
Logger.d(TAG, "======showFragment======btn_real_time_display_o"+ binding.layoutHomeLeftO.btnRealTimeDisplayO.isPressed());
if( binding.layoutHomeLeftO.btnRealTimeDisplayO.isPressed() ) {
showHomeFragment();
//layout_home_left.setVisibility(View.VISIBLE);
//layout_home_left_o.setVisibility(View.GONE);
btn_real_time_display.setChecked(true);
binding.layoutHomeLeft.btnRealTimeDisplay.setChecked(true);
}
break;
case R.id.btn_file_o:
Logger.d(TAG, "======showFragment======btn_file_o"+btn_file_o.isPressed());
Logger.d(TAG, "======showFragment======btn_file_o"+ binding.layoutHomeLeftO.btnFileO.isPressed());
if ( !AccountManager.getInstance().isLogin() ) {
if ( !SpManager.get_no_login_visit_doc() ) {
MyApplication.showToastLong1(getString(R.string.string_no_visit_doc_tip));
return ;
}
}
if( btn_file_o.isPressed() ) {
if( binding.layoutHomeLeftO.btnFileO.isPressed() ) {
showFileFragment();
btn_file.setChecked(true);
binding.layoutHomeLeft.btnFile.setChecked(true);
}
break;
case R.id.btn_user_o:
Logger.d(TAG, "======showFragment======btn_user_o"+btn_user_o.isPressed());
if( btn_user_o.isPressed() ) {
Logger.d(TAG, "======showFragment======btn_user_o"+binding.layoutHomeLeftO.btnUserO.isPressed());
if( binding.layoutHomeLeftO.btnUserO.isPressed() ) {
showUserFragment();
btn_user.setChecked(true);
binding.layoutHomeLeft.btnUser.setChecked(true);
}
break;
case R.id.btn_set_o:
Logger.d(TAG, "======showFragment======btn_set_o"+btn_set_o.isPressed());
if( btn_set_o.isPressed() ) {
Logger.d(TAG, "======showFragment======btn_set_o"+binding.layoutHomeLeftO.btnSetO.isPressed());
if( binding.layoutHomeLeftO.btnSetO.isPressed() ) {
showSettingFragment();
//layout_home_left.setVisibility(View.VISIBLE);
//layout_home_left_o.setVisibility(View.GONE);
btn_set.setChecked(true);
binding.layoutHomeLeft.btnSet.setChecked(true);
}
break;
}
......@@ -462,7 +404,7 @@ public class HomeActivity extends
public synchronized void showHomeFragment() {
//rg_home_bottom.clearCheck();
btn_real_time_display.setChecked(true);
binding.layoutHomeLeft.btnRealTimeDisplay.setChecked(true);
//layout_home_left.setVisibility(View.VISIBLE);
//layout_home_left_o.setVisibility(View.GONE);
//txt_device_id.setVisibility(View.VISIBLE);
......@@ -470,7 +412,7 @@ public class HomeActivity extends
}
private void showFileFragment() {
txt_device_id.setVisibility(View.GONE);
binding.txtDeviceId.setVisibility(View.GONE);
if (archiveFragment == null) {
archiveFragment = new ArchiveFragment();
archiveFragment.setHomeActivity(this);
......@@ -483,7 +425,7 @@ public class HomeActivity extends
}
private void showUserFragment() {
txt_device_id.setVisibility(View.GONE);
binding.txtDeviceId.setVisibility(View.GONE);
if (loginFragment == null) {
loginFragment = new LoginFragment();
loginFragment.setHomeActivity(this);
......@@ -495,7 +437,7 @@ public class HomeActivity extends
}
private void showSettingFragment() {
txt_device_id.setVisibility(View.GONE);
binding.txtDeviceId.setVisibility(View.GONE);
if (settingFragment == null) {
settingFragment = new SettingFragment();
settingFragment.setHomeActivity(this);
......@@ -525,15 +467,15 @@ public class HomeActivity extends
}
public void enterCurPos(RecordInfoDB recordInfoDB) {
btn_file.setChecked(true);
binding.layoutHomeLeft.btnFile.setChecked(true);
archiveFragment.showCurPos(recordInfoDB);
}
@SuppressLint("ClickableViewAccessibility")
private void setListener() {
//((RadioButton) rg_home_bottom.getChildAt(0)).setChecked(true);
rg_home_bottom.setOnCheckedChangeListener(this);
rg_home_bottom_o.setOnCheckedChangeListener(this);
binding.layoutHomeLeft.rgHomeBottom.setOnCheckedChangeListener(this);
binding.layoutHomeLeftO.rgHomeBottomO.setOnCheckedChangeListener(this);
}
@Override
......@@ -564,7 +506,7 @@ public class HomeActivity extends
public void batteryRegister() {
if ( batteryChangedReceiver == null ) {
BatteryStateViewUtil.setOnBatteryLitener(this);
batteryChangedReceiver = BatteryStateViewUtil.createBroadcastReceiver(batterView);
batteryChangedReceiver = BatteryStateViewUtil.createBroadcastReceiver(binding.batterView);
}
//binding.batteryStateView是电量的组件
registerReceiver(batteryChangedReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
......@@ -620,10 +562,10 @@ public class HomeActivity extends
@Override
public void MountEventProc(boolean mount) {
if ( !SpManager.get_usb_input_enabled() ) {
img_usb.setVisibility(View.GONE);
binding.layoutHomeLeft.imgUsb.setVisibility(View.GONE);
return ;
}
img_usb.setVisibility(mount ? View.VISIBLE : View.GONE);
binding.layoutHomeLeft.imgUsb.setVisibility(mount ? View.VISIBLE : View.GONE);
}
public void setUSBVisibility() {
......
......@@ -10,6 +10,7 @@ import android.os.Message;
import android.provider.Settings;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.TextureView;
import android.view.View;
......@@ -36,6 +37,7 @@ import com.sw.laryngoscope.camera.VideoCFModule;
import com.sw.laryngoscope.camera.VideoModule;
import com.sw.laryngoscope.common.Constant;
import com.sw.laryngoscope.common.InitParam;
import com.sw.laryngoscope.databinding.FgHomeBinding;
import com.sw.laryngoscope.manager.CameraCheck;
import com.sw.laryngoscope.manager.CameraInfoMg;
import com.sw.laryngoscope.manager.LcdParamManager;
......@@ -55,10 +57,8 @@ import java.io.FileWriter;
import java.io.IOException;
import java.lang.ref.WeakReference;
import butterknife.BindView;
import butterknife.OnClick;
public class HomeFragment extends BaseFragment implements
public class HomeFragment extends BaseFragment<FgHomeBinding> implements
CustomTimer.TimerCallBack, SeekBar.OnSeekBarChangeListener,
VideoCBModule.OnMediaListener, VideoCFModule.OnMediaListener,
NewPatientIDPopWindow.infoCallback, CameraCheck.CameraCallback,
......@@ -66,126 +66,6 @@ public class HomeFragment extends BaseFragment implements
private static final String TAG = "HomeFragment";
private Context context;
@BindView(R.id.layout_main_camera)
RelativeLayout layout_main_camera;
@BindView(R.id.img_icer_1)
PhotoBgView_50 img_icer_1;
@BindView(R.id.view_camera_1)
TextureView view_camera_1;
@BindView(R.id.img_cam_fg_1)
PhotoBgView img_cam_fg_1;
@BindView(R.id.img_animation_cam1)
CaptureAnimationOverlay img_animation_cam1;
@BindView(R.id.view_camera_2)
TextureView view_camera_2;
@BindView(R.id.img_animation_cam2)
CaptureAnimationOverlay img_animation_cam2;
@BindView(R.id.lay_icon)
LinearLayout lay_icon;
@BindView(R.id.img_record_shortcut)
ImageView img_record_shortcut;
@BindView(R.id.img_photo_shortcut)
ImageView img_photo_shortcut;
@BindView(R.id.lay_key_2)
RelativeLayout lay_key_2;
@BindView(R.id.lay_three)
RelativeLayout lay_three;
@BindView(R.id.btn_switch_camera)
ImageView btn_switch_camera;
@BindView(R.id.txt_video_total_time)
TextView txt_video_total_time;
@BindView(R.id.layout_camera_type)
View layout_camera_type;
@BindView(R.id.btn_camera_set)
ImageView btn_camera_set;
@BindView(R.id.layout_camera_set)
View layout_camera_set;
@BindView(R.id.sb_color)
SeekBar sb_color;
@BindView(R.id.sb_saturation)
SeekBar sb_saturation;
@BindView(R.id.sb_sharpness)
SeekBar sb_sharpness;
@BindView(R.id.sb_brightness)
SeekBar sb_brightness;
@BindView(R.id.img_patientinfo)
ImageView img_patientinfo;
@BindView(R.id.ed_patient_id)
EditText ed_patient_id;
@BindView(R.id.ed_patient_age)
EditText ed_patient_age;
@BindView(R.id.ed_patient_gender)
EditText ed_patient_gender;
/*@BindView(R.id.seek_bar)
CircleSeekBar seek_bar;*/
@BindView(R.id.layout_camera2)
RelativeLayout layout_camera2;
@BindView(R.id.img_icer_2)
PhotoBgView_50 img_icer_2;
@BindView(R.id.layout_camera_1_over)
RelativeLayout layout_camera_1_over;
@BindView(R.id.img_camera_1_status)
ImageView img_camera_1_status;
@BindView(R.id.img_uncon_camera)
TextView img_uncon_camera;
@BindView(R.id.layout_camera_2_over)
View layout_camera_2_over;
@BindView(R.id.img_tf_card)
ImageView img_tf_card;
@BindView(R.id.img_camera_2_status)
ImageView img_camera_2_status;
@BindView(R.id.rg_4)
public RadioGroup rg_4;
@BindView(R.id.rb_264)
public RadioButton rb_264;
@BindView(R.id.rb_265)
public RadioButton rb_265;
@BindView(R.id.rg_3)
public RadioGroup rg_3;
@BindView(R.id.rb_shot)
public RadioButton rb_shot;
@BindView(R.id.rb_cvbs_in)
public RadioButton rb_cvbs_in;
@BindView(R.id.rg_5)
public RadioGroup rg_5;
@BindView(R.id.rb_awb_led)
public RadioButton rb_awb_led;
@BindView(R.id.rb_awb_rect)
public RadioButton rb_awb_rect;
@BindView(R.id.rb_awb_temp)
public RadioButton rb_awb_temp;
@BindView(R.id.rb_awb_sun)
public RadioButton rb_awb_sun;
@BindView(R.id.rb_awb_cloud)
public RadioButton rb_awb_cloud;
@BindView(R.id.txt_camera_ori)
public ImageView txt_camera_ori;
@BindView(R.id.sb_zoom)
SeekBar sb_zoom;
@BindView(R.id.txt_camera_inter)
public TextView txt_camera_inter;
@BindView(R.id.txt_camera_exter)
public TextView txt_camera_exter;
@BindView(R.id.txt_camera_name)
public TextView txt_camera_name;
private CustomTimer scrollTimer;
private final String timerTAG_scroll = "scroll";
......@@ -237,19 +117,19 @@ public class HomeFragment extends BaseFragment implements
Logger.d(TAG, "==onResume======HomeFragment===1=========");
mNewPatientIDPopWindow = new NewPatientIDPopWindow(homeActivity, context);
mNewPatientIDPopWindow.setInfoCallback(this);
view_camera_1.setVisibility(View.VISIBLE);
binding.viewCamera1.setVisibility(View.VISIBLE);
initVideoModule();
if ( mAnimationUtils == null ) {
mAnimationUtils = new AnimationUtil(getContext());
mAnimationUtils.setTmpSet(layout_camera_set);
mAnimationUtils.setTmpSet(binding.layoutCameraSet.getRoot());
mAnimationUtils.setAnimation();
}
//seek_bar.setOnSeekBarChangeListener(this);
mLcdParamManager = new LcdParamManager();
mLcdParamManager.onCreate(sb_brightness, sb_saturation, sb_color);
mLcdParamManager.onCreate(binding.layoutCameraSet.sbBrightness, binding.layoutCameraSet.sbSaturation, binding.layoutCameraSet.sbColor);
/*sb_color.setProgress(SpManager.get_value_color());
sb_color.setOnSeekBarChangeListener(this);
......@@ -261,20 +141,20 @@ public class HomeFragment extends BaseFragment implements
int bright = getBrightness(getActivity());
sb_brightness.setProgress((int)( bright / 255.0f * 100 ));
sb_brightness.setOnSeekBarChangeListener(this);*/
sb_zoom.setProgress(0);
sb_zoom.setOnSeekBarChangeListener(this);
binding.layoutCameraSet.sbZoom.setProgress(0);
binding.layoutCameraSet.sbZoom.setOnSeekBarChangeListener(this);
refreshCameraItem();
setBonderType();
if ( SpManager.get_camera_encode() == MediaRecorder.VideoEncoder.H264 ) {
rb_264.setChecked(true);
binding.layoutCameraSet.rb264.setChecked(true);
} else {
rb_265.setChecked(true);
binding.layoutCameraSet.rb265.setChecked(true);
}
if ( SpManager.get_camera_record_source() == 0 ) {
rb_shot.setChecked(true);
binding.layoutCameraSet.rbShot.setChecked(true);
} else {
rb_cvbs_in.setChecked(true);
binding.layoutCameraSet.rbCvbsIn.setChecked(true);
}
CameraInfoMg.getInstance(null).setCameraInfoCb(this);
}
......@@ -323,8 +203,8 @@ public class HomeFragment extends BaseFragment implements
private void setBonderType() {
if ( SpManager.get_border_type() == Constant.BORDER_TYPE_A ) {
layout_main_camera.setBackgroundResource(R.drawable.bg_black_33);
layout_camera2.setBackgroundResource(R.drawable.bg_black_33);
binding.layoutMainCamera.setBackgroundResource(R.drawable.bg_black_33);
binding.layoutCamera2.setBackgroundResource(R.drawable.bg_black_33);
}
if ( SpManager.get_border_type() == Constant.BORDER_TYPE_B ) {
/*layout_main_camera.setBackgroundResource(R.color.color_black_33);
......@@ -333,105 +213,103 @@ public class HomeFragment extends BaseFragment implements
//layout_camera2.setBackgroundResource(R.drawable.bg_black_33_polygon);
}
if ( SpManager.get_border_type() == Constant.BORDER_TYPE_C ) {
layout_main_camera.setBackgroundResource(R.drawable.bg_black_33_round);
layout_camera2.setBackgroundResource(R.drawable.bg_black_33_round);
binding.layoutMainCamera.setBackgroundResource(R.drawable.bg_black_33_round);
binding.layoutCamera2.setBackgroundResource(R.drawable.bg_black_33_round);
}
/*if ( SpManager.get_border_type() == Constant.BORDER_TYPE_D ) {
layout_main_camera.setBackgroundResource(R.drawable.bg_black_33_polygon);
layout_camera2.setBackgroundResource(R.drawable.bg_black_33_polygon);
}*/
txt_camera_inter.setText(CameraInfoMg.getInstance(null).data_internal_diameter);
txt_camera_exter.setText(CameraInfoMg.getInstance(null).data_external_diameter);
txt_camera_name.setText(CameraInfoMg.getInstance(null).data_mirror_model);
binding.layoutCameraType.txtCameraInter.setText(CameraInfoMg.getInstance(null).data_internal_diameter);
binding.layoutCameraType.txtCameraExter.setText(CameraInfoMg.getInstance(null).data_external_diameter);
binding.layoutCameraType.txtCameraName.setText(CameraInfoMg.getInstance(null).data_mirror_model);
}
@Override
protected int rootLayout() {
return R.layout.fg_home;
}
@Override
protected void init() {
//writeFile(InitParam.pwmPath, light[indexLight-1]+"");
txt_camera_ori.setVisibility(SpManager.get_rt_rotation() ? View.VISIBLE : View.GONE);
binding.layoutCameraSet.txtCameraOri.setVisibility(SpManager.get_rt_rotation() ? View.VISIBLE : View.GONE);
}
@Override
protected void setListener() {
//img_back.setOnClickListener(this);
rg_3.setOnCheckedChangeListener(this);
rg_4.setOnCheckedChangeListener(this);
rg_5.setOnCheckedChangeListener(this);
}
@Override
@OnClick({ R.id.img_record_shortcut, R.id.img_photo_shortcut,
R.id.btn_camera_set,
R.id.img_patientinfo,
R.id.layout_camera_2_over, R.id.btn_switch_camera,
R.id.txt_camera_ori, })
public void onClick(View v) {
switch (v.getId()) {
/*case R.id.btn_left_close:
mAnimationUtils.closePreview();
break;*/
case R.id.btn_camera_set:
if ( layout_camera_set.getVisibility() == View.GONE ) {
binding.layoutCameraSet.rg3.setOnCheckedChangeListener(this);
binding.layoutCameraSet.rg4.setOnCheckedChangeListener(this);
binding.layoutCameraSet.rg5.setOnCheckedChangeListener(this);
binding.layoutCameraSet.getRoot().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if ( binding.layoutCameraSet.getRoot().getVisibility() == View.GONE ) {
mAnimationUtils.showSetView();
btn_camera_set.setSelected(true);
binding.btnCameraSet.setSelected(true);
} else {
mAnimationUtils.closeSetView();
btn_camera_set.setSelected(false);
binding.btnCameraSet.setSelected(false);
}
break;
case R.id.img_record_shortcut:
}
});
binding.imgRecordShortcut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Logger.d(TAG, "=====img_record_shortcut======");
//没有摄像头
if ( mCameraCheck.getCam_1() == -1 && mCameraCheck.getCam_2() == -1 ) {
break;
}
sendEvent(key_event[SpManager.get_handle_one_key()]);
break;
case R.id.img_photo_shortcut:
//没有摄像头
}
});
binding.imgPhotoShortcut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if ( mCameraCheck.getCam_1() == -1 && mCameraCheck.getCam_2() == -1 ) {
break;
}
sendEvent(key_event[SpManager.get_handle_two_key()]);
break;
case R.id.img_patientinfo:
}
});
binding.layoutMainShowUserinfo.imgPatientinfo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Logger.d("==========img_patientinfo======");
mNewPatientIDPopWindow.showAsDropDown(img_patientinfo, 0,
mNewPatientIDPopWindow.showAsDropDown(binding.layoutMainShowUserinfo.imgPatientinfo, 0,
- (int)getResources().getDimension(R.dimen.dp_y_170));
break;
case R.id.layout_camera_2_over:
}
});
binding.layoutCamera2Over.getRoot().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//onKeyDown(KeyEvent.KEYCODE_F2, null);
Logger.d("==========layout_camera2======");
/*mVideoModule.setMainCamera(mVideoModule.getMainCamera() == BaseModule.FACING_BACK ?
BaseModule.FACING_FRONT : BaseModule.FACING_BACK);
switchCameraView();*/
break;
case R.id.btn_switch_camera:
}
});
binding.btnSwitchCamera.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Logger.d("==========btn_switch_camera======");
mVideoModule.setMainCameraType(mVideoModule.getMainCameraType() == InitParam.CAM_BACK ?
InitParam.CAM_FRONT : InitParam.CAM_BACK);
switchCameraView();
break;
case R.id.txt_camera_ori:
}
});
binding.layoutCameraSet.txtCameraOri.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if ( SpManager.get_rt_rotation() ) {
mVideoModule.setDisplayOrientation();
}
break;
default:
break;
}
}
});
}
@Override
public void onPause() {
super.onPause();
Logger.d(TAG, "========HomeFragment===12=========");
view_camera_1.setVisibility(View.GONE);
binding.viewCamera1.setVisibility(View.GONE);
closeCamera();
}
......@@ -547,11 +425,15 @@ public class HomeFragment extends BaseFragment implements
}
@Override
public void getinfo(String id, String age, String sex) {
homeActivity.runOnUiThread(()-> {
ed_patient_id.setText(id);
ed_patient_age.setText(age);
ed_patient_gender.setText(sex);});
public void getinfo(final String id, final String age, final String sex) {
homeActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
binding.layoutMainShowUserinfo.edPatientId.setText(id);
binding.layoutMainShowUserinfo.edPatientAge.setText(age);
binding.layoutMainShowUserinfo.edPatientGender.setText(sex);
}
});
}
private class MainHandler extends Handler {
......@@ -567,42 +449,42 @@ public class HomeFragment extends BaseFragment implements
case MSG_ICE_PROC:
if ( msg.arg1 == MSG_CAMERA_TYPE_USB ) {
if ( mCameraCheck.getTypeCPos() == InitParam.CAM_BACK ) {
img_icer_1.setImageBitmap(view_camera_1.getBitmap());
img_icer_1.setVisibility(img_icer_1.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE);
setCameraStatus(img_camera_1_status, InitParam.CAMERA_STATUS_RES[0]);
binding.imgIcer1.setImageBitmap(binding.viewCamera1.getBitmap());
binding.imgIcer1.setVisibility(binding.imgIcer1.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE);
setCameraStatus(binding.imgCamera1Status, InitParam.CAMERA_STATUS_RES[0]);
} else {
img_icer_2.setImageBitmap(view_camera_2.getBitmap());
img_icer_2.setVisibility(img_icer_2.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE);
setCameraStatus(img_camera_2_status, InitParam.CAMERA_STATUS_RES[0]);
binding.imgIcer2.setImageBitmap(binding.viewCamera2.getBitmap());
binding.imgIcer2.setVisibility(binding.imgIcer2.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE);
setCameraStatus(binding.layoutCamera2Over.imgCamera2Status, InitParam.CAMERA_STATUS_RES[0]);
}
} else {
if ( mCameraCheck.getOVPos() == InitParam.CAM_BACK ) {
img_icer_1.setImageBitmap(view_camera_1.getBitmap());
img_icer_1.setVisibility(img_icer_1.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE);
setCameraStatus(img_camera_1_status, InitParam.CAMERA_STATUS_RES[0]);
binding.imgIcer1.setImageBitmap(binding.viewCamera1.getBitmap());
binding.imgIcer1.setVisibility(binding.imgIcer1.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE);
setCameraStatus(binding.imgCamera1Status, InitParam.CAMERA_STATUS_RES[0]);
} else {
img_icer_2.setImageBitmap(view_camera_2.getBitmap());
img_icer_2.setVisibility(img_icer_2.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE);
setCameraStatus(img_camera_2_status, InitParam.CAMERA_STATUS_RES[0]);
binding.imgIcer2.setImageBitmap(binding.viewCamera2.getBitmap());
binding.imgIcer2.setVisibility(binding.imgIcer2.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE);
setCameraStatus(binding.layoutCamera2Over.imgCamera2Status, InitParam.CAMERA_STATUS_RES[0]);
}
}
break;
case MSG_TAKE_PHOTO_BACK:
if ( mVideoModule.isOpenBackCamera() ) {
mVideoModule.takeBackPhoto();
img_animation_cam1.onPreviewAreaChanged(
new RectF(0, 0, view_camera_1.getWidth(), view_camera_1.getHeight()));
img_animation_cam1.startFlashAnimation(true);
setCameraStatus(img_camera_1_status, InitParam.CAMERA_STATUS_RES[4]);
binding.imgAnimationCam1.onPreviewAreaChanged(
new RectF(0, 0, binding.viewCamera1.getWidth(), binding.viewCamera1.getHeight()));
binding.imgAnimationCam1.startFlashAnimation(true);
setCameraStatus(binding.imgCamera1Status, InitParam.CAMERA_STATUS_RES[4]);
}
break;
case MSG_TAKE_PHOTO_FRONT:
if ( mVideoModule.isOpenFrontCamera() ) {
mVideoModule.takeFrontPhoto();
img_animation_cam2.onPreviewAreaChanged(
new RectF(0, 0, view_camera_2.getWidth(), view_camera_2.getHeight()));
img_animation_cam2.startFlashAnimation(true);
setCameraStatus(img_camera_2_status, InitParam.CAMERA_STATUS_RES[4]);
binding.layoutCamera2Over.imgAnimationCam2.onPreviewAreaChanged(
new RectF(0, 0, binding.viewCamera2.getWidth(), binding.viewCamera2.getHeight()));
binding.layoutCamera2Over.imgAnimationCam2.startFlashAnimation(true);
setCameraStatus(binding.layoutCamera2Over.imgCamera2Status, InitParam.CAMERA_STATUS_RES[4]);
}
break;
case MSG_TAKE_VIDEO_BACK:
......@@ -613,7 +495,7 @@ public class HomeFragment extends BaseFragment implements
}
if (!mVideoModule.isBackRec()) {
mVideoModule.startBackVideoRec();
setCameraStatus(img_camera_1_status, InitParam.CAMERA_STATUS_RES[3]);
setCameraStatus(binding.imgCamera1Status, InitParam.CAMERA_STATUS_RES[3]);
} else {
if ( mVideoModule.stopBackVideoRecDelay() ) {
//img_record_shortcut.setSelected(false);
......@@ -629,7 +511,7 @@ public class HomeFragment extends BaseFragment implements
}
if (!mVideoModule.isFrontRec()) {
mVideoModule.startFrontVideoRec();
setCameraStatus(img_camera_2_status, InitParam.CAMERA_STATUS_RES[3]);
setCameraStatus(binding.layoutCamera2Over.imgCamera2Status, InitParam.CAMERA_STATUS_RES[3]);
} else {
if ( mVideoModule.stopFrontVideoRecDelay() ) {
}
......@@ -699,7 +581,7 @@ public class HomeFragment extends BaseFragment implements
}
}
setCameraStatus(cam_pos_show == InitParam.CAM_BACK ?
img_camera_1_status : img_camera_2_status, InitParam.CAMERA_STATUS_RES[1]);
binding.imgCamera1Status : binding.layoutCamera2Over.imgCamera2Status, InitParam.CAMERA_STATUS_RES[1]);
break;
case MSG_ENLARGE:
int cam_status_pos= -1;
......@@ -727,7 +609,7 @@ public class HomeFragment extends BaseFragment implements
}
}
setCameraStatus(cam_status_pos == InitParam.CAM_BACK ?
img_camera_1_status : img_camera_2_status, InitParam.CAMERA_STATUS_RES[2]);
binding.imgCamera1Status : binding.layoutCamera2Over.imgCamera2Status, InitParam.CAMERA_STATUS_RES[2]);
break;
case MSG_RECORD:
if ( msg.arg1 == MSG_CAMERA_TYPE_USB ) {
......@@ -757,21 +639,21 @@ public class HomeFragment extends BaseFragment implements
/*ConstraintLayout.LayoutParams layoutParams_sv = (ConstraintLayout.LayoutParams) layout_main_camera.getLayoutParams();
layoutParams_sv.horizontalBias = 0.5f;
layout_main_camera.setLayoutParams(layoutParams_sv);*/
if ( layout_camera2.getVisibility() == View.VISIBLE ) {
ConstraintLayout.LayoutParams layoutParams_sv = (ConstraintLayout.LayoutParams) layout_camera2.getLayoutParams();
if (binding.layoutCamera2.getVisibility() == View.VISIBLE ) {
ConstraintLayout.LayoutParams layoutParams_sv = (ConstraintLayout.LayoutParams) binding.layoutCamera2.getLayoutParams();
if ( layoutParams_sv.horizontalBias == oneHor ) {//第二个摄像头在主位置
setViewParam(InitParam.VIDEO_PREVIEW[curPreviewParam][0], InitParam.VIDEO_PREVIEW[curPreviewParam][1], layout_camera2);
setViewParam(InitParam.VIDEO_PREVIEW[curPreviewParam][0], InitParam.VIDEO_PREVIEW[curPreviewParam][1], layout_camera_2_over);
setCameraStatus(img_camera_2_status, InitParam.CAMERA_STATUS_RES[2]);
setViewParam(InitParam.VIDEO_PREVIEW[curPreviewParam][0], InitParam.VIDEO_PREVIEW[curPreviewParam][1], binding.layoutCamera2);
setViewParam(InitParam.VIDEO_PREVIEW[curPreviewParam][0], InitParam.VIDEO_PREVIEW[curPreviewParam][1], binding.layoutCamera2Over.getRoot());
setCameraStatus(binding.layoutCamera2Over.imgCamera2Status, InitParam.CAMERA_STATUS_RES[2]);
} else {//第二个摄像头在次位置
setViewParam(InitParam.VIDEO_PREVIEW[curPreviewParam][0], InitParam.VIDEO_PREVIEW[curPreviewParam][1], layout_main_camera);
setViewParam(InitParam.VIDEO_PREVIEW[curPreviewParam][0], InitParam.VIDEO_PREVIEW[curPreviewParam][1], layout_camera_1_over);
setCameraStatus(img_camera_1_status, InitParam.CAMERA_STATUS_RES[2]);
setViewParam(InitParam.VIDEO_PREVIEW[curPreviewParam][0], InitParam.VIDEO_PREVIEW[curPreviewParam][1], binding.layoutMainCamera);
setViewParam(InitParam.VIDEO_PREVIEW[curPreviewParam][0], InitParam.VIDEO_PREVIEW[curPreviewParam][1], binding.layoutCamera1Over);
setCameraStatus(binding.imgCamera1Status, InitParam.CAMERA_STATUS_RES[2]);
}
} else {//只有一个摄像头
setViewParam(InitParam.VIDEO_ONE_PREVIEW[curPreviewParam][0], InitParam.VIDEO_ONE_PREVIEW[curPreviewParam][1], layout_main_camera);
setViewParam(InitParam.VIDEO_ONE_PREVIEW[curPreviewParam][0], InitParam.VIDEO_ONE_PREVIEW[curPreviewParam][1], layout_camera_1_over);
setCameraStatus(img_camera_1_status, InitParam.CAMERA_STATUS_RES[2]);
setViewParam(InitParam.VIDEO_ONE_PREVIEW[curPreviewParam][0], InitParam.VIDEO_ONE_PREVIEW[curPreviewParam][1], binding.layoutMainCamera);
setViewParam(InitParam.VIDEO_ONE_PREVIEW[curPreviewParam][0], InitParam.VIDEO_ONE_PREVIEW[curPreviewParam][1], binding.layoutCamera1Over);
setCameraStatus(binding.imgCamera1Status, InitParam.CAMERA_STATUS_RES[2]);
}
}
......@@ -786,8 +668,8 @@ public class HomeFragment extends BaseFragment implements
}
}
img_photo_shortcut.setVisibility(SpManager.get_snapshot_enabled() ? View.VISIBLE : View.GONE);*/
img_record_shortcut.setImageResource(InitParam.CAMERA_KEY_RES[SpManager.get_handle_one_key()]);
img_photo_shortcut.setImageResource(InitParam.CAMERA_KEY_RES[SpManager.get_handle_two_key()]);
binding.imgRecordShortcut.setImageResource(InitParam.CAMERA_KEY_RES[SpManager.get_handle_one_key()]);
binding.imgPhotoShortcut.setImageResource(InitParam.CAMERA_KEY_RES[SpManager.get_handle_two_key()]);
}
......@@ -796,85 +678,100 @@ public class HomeFragment extends BaseFragment implements
}
@Override
public void setMainCamChange(int cam) {
homeActivity.runOnUiThread( () -> {
Log.d(TAG,"setMainCamChange : " + cam + " mVideoModule " + mVideoModule);
mVideoModule.destoryBackMediaRec();
mVideoModule.closeBackCamera();
sleep(1000);
public void setMainCamChange(final int cam) {
homeActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
Log.d(TAG,"setMainCamChange : " + cam + " mVideoModule " + mVideoModule);
mVideoModule.destoryBackMediaRec();
mVideoModule.closeBackCamera();
sleep(1000);
if ( mCameraCheck.getCam_1() != -1 ) {
Logger.d("============mVideoModule==MSG_OPEN_CAM_BACK======" + mVideoModule);
mVideoModule.setBackId(mCameraCheck.getCam_1());
mVideoModule.startBackPreview();
}
if ( mCameraCheck.getCam_1() != -1 ) {
Logger.d("============mVideoModule==MSG_OPEN_CAM_BACK======" + mVideoModule);
mVideoModule.setBackId(mCameraCheck.getCam_1());
mVideoModule.startBackPreview();
mHandler.removeMessages(MSG_OPEN_CAM_BACK);
mHandler.sendEmptyMessage(MSG_OPEN_CAM_BACK);
//mHandler.sendEmptyMessageDelayed(MSG_OPEN_CAM_BACK, 2000);
}
mHandler.removeMessages(MSG_OPEN_CAM_BACK);
mHandler.sendEmptyMessage(MSG_OPEN_CAM_BACK);
//mHandler.sendEmptyMessageDelayed(MSG_OPEN_CAM_BACK, 2000);
} );
});
}
@Override
public void setSecCamChange(int cam) {
homeActivity.runOnUiThread( () -> {
Log.d(TAG,"setSecCamChange : " + cam);
mVideoModule.destoryFrontMediaRec();
mVideoModule.closeFrontCamera();
sleep(1000);
if ( mCameraCheck.getCam_2() != -1 ) {
Logger.d("============mVideoModule===MSG_OPEN_CAM_FRONT=====" + mVideoModule);
mVideoModule.setFrontId(mCameraCheck.getCam_2());
mVideoModule.startFrontPreview();
public void setSecCamChange(final int cam) {
homeActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
Log.d(TAG,"setSecCamChange : " + cam);
mVideoModule.destoryFrontMediaRec();
mVideoModule.closeFrontCamera();
sleep(1000);
if ( mCameraCheck.getCam_2() != -1 ) {
Logger.d("============mVideoModule===MSG_OPEN_CAM_FRONT=====" + mVideoModule);
mVideoModule.setFrontId(mCameraCheck.getCam_2());
mVideoModule.startFrontPreview();
}
mHandler.removeMessages(MSG_OPEN_CAM_FRONT);
mHandler.sendEmptyMessage(MSG_OPEN_CAM_FRONT);
//mHandler.sendEmptyMessageDelayed(MSG_OPEN_CAM_FRONT, 2000);
}
mHandler.removeMessages(MSG_OPEN_CAM_FRONT);
mHandler.sendEmptyMessage(MSG_OPEN_CAM_FRONT);
//mHandler.sendEmptyMessageDelayed(MSG_OPEN_CAM_FRONT, 2000);
} );
});
}
@Override
public void setCamInfo(String data_internal_diameter, String data_external_diameter,
public void setCamInfo(final String data_internal_diameter, final String data_external_diameter,
String data_number_insertions, String data_usage_time,
String data_serial_number, String data_mirror_model) {
homeActivity.runOnUiThread( () -> {
Log.d(TAG,"setCamInfo : ");
txt_camera_inter.setText(data_internal_diameter);
txt_camera_exter.setText(data_external_diameter);
txt_camera_name.setText(data_mirror_model);
if ( layout_camera2.getVisibility() == View.GONE ) {
//layout_camera_type.setVisibility(View.VISIBLE);
String data_serial_number, final String data_mirror_model) {
homeActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
Log.d(TAG,"setCamInfo : ");
binding.layoutCameraType.txtCameraInter.setText(data_internal_diameter);
binding.layoutCameraType.txtCameraExter.setText(data_external_diameter);
binding.layoutCameraType.txtCameraName.setText(data_mirror_model);
if ( binding.layoutCamera2.getRootView().getVisibility() == View.GONE ) {
//layout_camera_type.setVisibility(View.VISIBLE);
}
}
} );
});
}
@Override
public void resetCamInfo() {
homeActivity.runOnUiThread( () -> {
Log.d(TAG,"resetCamInfo : ");
txt_camera_inter.setText("");
txt_camera_exter.setText("");
txt_camera_name.setText("");
txt_video_total_time.setText("00:00");
layout_camera_type.setVisibility(View.GONE);
} );
homeActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
Log.d(TAG,"resetCamInfo : ");
binding.layoutCameraType.txtCameraInter.setText("");
binding.layoutCameraType.txtCameraExter.setText("");
binding.layoutCameraType.txtCameraName.setText("");
binding.txtVideoTotalTime.setText("00:00");
binding.layoutCameraType.getRoot().setVisibility(View.GONE);
}
});
}
@Override
public void setCamTime(String data_usage_time) {
homeActivity.runOnUiThread( () -> {
if ( mCameraCheck.getCam_1() != -1 && mCameraCheck.getCam_2() != -1 ) {
txt_video_total_time.setVisibility(View.GONE);
} else if ( mCameraCheck.getCam_1() != -1 || mCameraCheck.getCam_2() != -1 ) {
txt_video_total_time.setVisibility(View.VISIBLE);
txt_video_total_time.setText(data_usage_time);
} else {
txt_video_total_time.setVisibility(View.GONE);
public void setCamTime(final String data_usage_time) {
homeActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
if ( mCameraCheck.getCam_1() != -1 && mCameraCheck.getCam_2() != -1 ) {
binding.txtVideoTotalTime.setVisibility(View.GONE);
} else if ( mCameraCheck.getCam_1() != -1 || mCameraCheck.getCam_2() != -1 ) {
binding.txtVideoTotalTime.setVisibility(View.VISIBLE);
binding.txtVideoTotalTime.setText(data_usage_time);
} else {
binding.txtVideoTotalTime.setVisibility(View.GONE);
}
}
} );
});
}
private boolean shortPress[] = {false, false, false, false, false,};
......@@ -950,6 +847,11 @@ public class HomeFragment extends BaseFragment implements
}
return super.onKeyUp(keyCode, event);
}
@Override
protected FgHomeBinding getViewBinding(LayoutInflater inflater, ViewGroup container) {
return FgHomeBinding.inflate(inflater, container, false);
}
/*6946 131_F1 132_F2
9734 132_F2 133_F3
C 135_F5*/
......@@ -1002,25 +904,25 @@ public class HomeFragment extends BaseFragment implements
public void switchCameraView() {//双摄交换
if ( mVideoModule.getMainCameraType() == InitParam.CAM_BACK ) {
setConstraintLay(layout_main_camera, oneHor, oneVer, oneSize, oneSize);
setConstraintLay(layout_camera_1_over, oneHor, oneVer, oneSize, oneSize);
setConstraintLay(layout_camera2, twoHor, twoVer, twoSize, twoSize);
setConstraintLay(layout_camera_2_over, twoHor, twoVer, twoSize, twoSize);
setConstraintLay(binding.layoutMainCamera, oneHor, oneVer, oneSize, oneSize);
setConstraintLay(binding.layoutCamera1Over, oneHor, oneVer, oneSize, oneSize);
setConstraintLay(binding.layoutCamera2, twoHor, twoVer, twoSize, twoSize);
setConstraintLay(binding.layoutCamera2Over.getRoot(), twoHor, twoVer, twoSize, twoSize);
} else {
setConstraintLay(layout_camera2, oneHor, oneVer, oneSize, oneSize);
setConstraintLay(layout_camera_2_over, oneHor, oneVer, oneSize, oneSize);
setConstraintLay(layout_main_camera, twoHor, twoVer, twoSize, twoSize);
setConstraintLay(layout_camera_1_over, twoHor, twoVer, twoSize, twoSize);
setConstraintLay(binding.layoutCamera2, oneHor, oneVer, oneSize, oneSize);
setConstraintLay(binding.layoutCamera2Over.getRoot(), oneHor, oneVer, oneSize, oneSize);
setConstraintLay(binding.layoutMainCamera, twoHor, twoVer, twoSize, twoSize);
setConstraintLay(binding.layoutCamera1Over, twoHor, twoVer, twoSize, twoSize);
}
}
public void resetCameraView() {//双摄交换复原
mVideoModule.setMainCameraType(InitParam.CAM_BACK);
if ( mVideoModule.getMainCameraType() == InitParam.CAM_BACK ) {
setConstraintLay(layout_main_camera, oneHor, oneVer, oneSize, oneSize);
setConstraintLay(layout_camera_1_over, oneHor, oneVer, oneSize, oneSize);
setConstraintLay(layout_camera2, twoHor, twoVer, twoSize, twoSize);
setConstraintLay(layout_camera_2_over, twoHor, twoVer, twoSize, twoSize);
setConstraintLay(binding.layoutMainCamera, oneHor, oneVer, oneSize, oneSize);
setConstraintLay(binding.layoutCamera1Over, oneHor, oneVer, oneSize, oneSize);
setConstraintLay(binding.layoutCamera2, twoHor, twoVer, twoSize, twoSize);
setConstraintLay(binding.layoutCamera2Over.getRoot(), twoHor, twoVer, twoSize, twoSize);
}
}
......@@ -1030,47 +932,47 @@ public class HomeFragment extends BaseFragment implements
mainonlywidth = oneCamSize[sizeId][1];
mainonlyhor = oneCamHor[sizeId];
setConstraintLay(layout_main_camera, mainonlyhor, oneVer, mainonlyheight, mainonlywidth);
setViewLay(layout_camera_1_over, mainonlyhor, oneVer, mainonlyheight, mainonlywidth);
setConstraintLay(binding.layoutMainCamera, mainonlyhor, oneVer, mainonlyheight, mainonlywidth);
setViewLay(binding.layoutCamera1Over, mainonlyhor, oneVer, mainonlyheight, mainonlywidth);
/*setViewParam(1422, 1048, img_animation_cam1);*/
layout_camera2.setVisibility(View.GONE);
binding.layoutCamera2.setVisibility(View.GONE);
Logger.d(" show showOneCam ");
btn_camera_set.setVisibility(View.VISIBLE);
binding.btnCameraSet.setVisibility(View.VISIBLE);
//layout_camera_type.setVisibility(View.VISIBLE);
layout_camera_2_over.setVisibility(View.GONE);
binding.layoutCamera2Over.getRoot().setVisibility(View.GONE);
lay_three.setVisibility(View.GONE);
binding.layThree.setVisibility(View.GONE);
ConstraintLayout.LayoutParams mParams = (ConstraintLayout.LayoutParams)
lay_icon.getLayoutParams();
binding.layIcon.getLayoutParams();
mParams.setMargins(1602, 75, 0, 0);//left top right button
mParams.width = 283;
lay_icon.setLayoutParams(mParams);
binding.layIcon.setLayoutParams(mParams);
//typec 在主摄像头位置
lay_key_2.setVisibility(mCameraCheck.getTypeCPos() == InitParam.CAM_BACK ? View.GONE : View.VISIBLE);
binding.layKey2.setVisibility(mCameraCheck.getTypeCPos() == InitParam.CAM_BACK ? View.GONE : View.VISIBLE);
}
public void showAllCam() {//展示双摄像头
Logger.d(" show showAllCam ");
resetCameraView();
setConstraintLay(layout_main_camera, oneHor, oneVer, oneSize, oneSize);
setViewLay(layout_camera_1_over, oneHor, oneVer, oneSize, oneSize);
setConstraintLay(binding.layoutMainCamera, oneHor, oneVer, oneSize, oneSize);
setViewLay(binding.layoutCamera1Over, oneHor, oneVer, oneSize, oneSize);
/*setViewParam(oneSize, oneSize, img_animation_cam1);*/
layout_camera2.setVisibility(View.VISIBLE);
btn_camera_set.setVisibility(View.GONE);
layout_camera_type.setVisibility(View.GONE);
binding.layoutCamera2.setVisibility(View.VISIBLE);
binding.btnCameraSet.setVisibility(View.GONE);
binding.layoutCameraType.getRoot().setVisibility(View.GONE);
layout_camera_2_over.setVisibility(View.VISIBLE);
binding.layoutCamera2Over.getRoot().setVisibility(View.VISIBLE);
lay_three.setVisibility(View.VISIBLE);
binding.layThree.setVisibility(View.VISIBLE);
ConstraintLayout.LayoutParams mParams = (ConstraintLayout.LayoutParams)
lay_icon.getLayoutParams();
binding.layIcon.getLayoutParams();
mParams.setMargins(1318, 75, 0, 0);//left top right button
mParams.width = 550;
lay_icon.setLayoutParams(mParams);
binding.layIcon.setLayoutParams(mParams);
lay_key_2.setVisibility(View.VISIBLE);
binding.layKey2.setVisibility(View.VISIBLE);
}
public void showCam() {//摄像头展示逻辑
......@@ -1080,17 +982,22 @@ public class HomeFragment extends BaseFragment implements
showOneCam();
}
if ( mCameraCheck.getCam_1() == -1 && mCameraCheck.getCam_2() == -1 ) {
img_uncon_camera.setVisibility(View.VISIBLE);
binding.imgUnconCamera.setVisibility(View.VISIBLE);
} else {
img_uncon_camera.setVisibility(View.GONE);
binding.imgUnconCamera.setVisibility(View.GONE);
}
}
public void setCameraStatus(ImageView view, int res) {
public void setCameraStatus(final ImageView view, int res) {
view.removeCallbacks(null);
view.setImageResource(res);
view.setVisibility(View.VISIBLE);
view.postDelayed( () -> {view.setVisibility(View.GONE);}, 3000 );
view.postDelayed(new Runnable() {
@Override
public void run() {
view.setVisibility(View.GONE);
}
}, 3000 );
}
public void setConstraintLay(View view, float hor, float ver, int height, int width) {
......@@ -1125,11 +1032,11 @@ public class HomeFragment extends BaseFragment implements
if ( ev.getAction() == MotionEvent.ACTION_UP ) {
//View v = getActivity().getCurrentFocus();
Logger.d("=======dispatchTouchEvent==1==");
if ( isShouldHideView(layout_camera_set, ev) && isShouldHideView(btn_camera_set, ev)
&& layout_camera_set.getVisibility() == View.VISIBLE ) {
if ( isShouldHideView(binding.layoutCameraSet.getRoot(), ev) && isShouldHideView(binding.btnCameraSet, ev)
&& binding.layoutCameraSet.getRoot().getVisibility() == View.VISIBLE ) {
Logger.d("=======dispatchTouchEv1ent==2==");
layout_camera_set.setVisibility(View.GONE);
btn_camera_set.setSelected(false);
binding.layoutCameraSet.getRoot().setVisibility(View.GONE);
binding.btnCameraSet.setSelected(false);
}
}
}
......@@ -1153,7 +1060,7 @@ public class HomeFragment extends BaseFragment implements
}
public void setCamRotVisibility() {
txt_camera_ori.setVisibility(SpManager.get_rt_rotation() ? View.VISIBLE : View.GONE);
binding.layoutCameraSet.txtCameraOri.setVisibility(SpManager.get_rt_rotation() ? View.VISIBLE : View.GONE);
}
void sendEvent(int event) {
......
......@@ -7,7 +7,9 @@ import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView;
import android.widget.EditText;
......@@ -25,6 +27,7 @@ import com.sw.laryngoscope.activity.CustomTimer;
import com.sw.laryngoscope.activity.HomeActivity;
import com.sw.laryngoscope.adapter.UserLoginItemAdapter;
import com.sw.laryngoscope.common.InitParam;
import com.sw.laryngoscope.databinding.FgLoginBinding;
import com.sw.laryngoscope.db.AccountInfoDB;
import com.sw.laryngoscope.manager.AccountManager;
import com.sw.laryngoscope.manager.InfoManager;
......@@ -35,52 +38,11 @@ import com.sw.laryngoscope.utils.Logger;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.OnClick;
public class LoginFragment extends BaseFragment implements CustomTimer.TimerCallBack,
UserLoginItemAdapter.OnClickListener, DelUserPopWindow.delCallback {
public class LoginFragment extends BaseFragment<FgLoginBinding> implements CustomTimer.TimerCallBack,
UserLoginItemAdapter.OnClickListener, DelUserPopWindow.delCallback ,View.OnClickListener{
private static final String TAG = "LoginFragment";
@BindView(R.id.lay_back)
LinearLayout lay_back;
@BindView(R.id.txt_add_user)
ImageView txt_add_user;
@BindView(R.id.layout_user_list)
View layout_user_list;
@BindView(R.id.listView_user)
ListView listView_user;
@BindView(R.id.layout_user_new)
View layout_user_new;
@BindView(R.id.ed_add_name)
EditText ed_add_name;
@BindView(R.id.ed_add_psd)
EditText ed_add_psd;
@BindView(R.id.ed_add_repsd)
EditText ed_add_repsd;
@BindView(R.id.layout_user_swtich)
View layout_user_swtich;
@BindView(R.id.ed_switch_name)
EditText ed_switch_name;
@BindView(R.id.ed_switch_psd)
EditText ed_switch_psd;
@BindView(R.id.layout_user_edit)
View layout_user_edit;
@BindView(R.id.ed_name)
EditText ed_name;
@BindView(R.id.ed_psd)
EditText ed_psd;
@BindView(R.id.ed_repsd)
EditText ed_repsd;
private CustomTimer scrollTimer;
private final String timerTAG_scroll = "scroll";
......@@ -109,9 +71,9 @@ public class LoginFragment extends BaseFragment implements CustomTimer.TimerCall
super.onResume();
mDelUserPopWindow = new DelUserPopWindow(homeActivity, getActivity());
mDelUserPopWindow.setDelCallback(this);
ed_repsd.setBackgroundResource(R.drawable.bg_edt_normal);
ed_repsd.setCompoundDrawables(null, null, null, null);
ed_repsd.addTextChangedListener(new TextWatcher() {
binding.layoutUserEdit.edRepsd.setBackgroundResource(R.drawable.bg_edt_normal);
binding.layoutUserEdit.edRepsd.setCompoundDrawables(null, null, null, null);
binding.layoutUserEdit.edRepsd.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
......@@ -120,17 +82,17 @@ public class LoginFragment extends BaseFragment implements CustomTimer.TimerCall
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
if ( ed_repsd.getText().length() >= 0
&& ed_psd.getText().length() >= 0
&& !ed_repsd.getText().toString().equals(ed_psd.getText().toString())
&& ed_repsd.getText().toString().length() == ed_psd.getText().toString().length() ) {
ed_repsd.setBackgroundResource(R.drawable.bg_edt_err);
if ( binding.layoutUserEdit.edRepsd.getText().length() >= 0
&& binding.layoutUserEdit.edPsd.getText().length() >= 0
&& !binding.layoutUserEdit.edRepsd.getText().toString().equals(binding.layoutUserEdit.edPsd.getText().toString())
&& binding.layoutUserEdit.edRepsd.getText().toString().length() == binding.layoutUserEdit.edPsd.getText().toString().length() ) {
binding.layoutUserEdit.edRepsd.setBackgroundResource(R.drawable.bg_edt_err);
Drawable rightDrawable = getResources().getDrawable(R.mipmap.img_coolicon);
rightDrawable.setBounds(0, 0, rightDrawable.getMinimumWidth(), rightDrawable.getMinimumHeight());
ed_repsd.setCompoundDrawables(null, null, rightDrawable, null);
binding.layoutUserEdit.edRepsd.setCompoundDrawables(null, null, rightDrawable, null);
} else {
ed_repsd.setBackgroundResource(R.drawable.bg_edt_normal);
ed_repsd.setCompoundDrawables(null, null, null, null);
binding.layoutUserEdit.edRepsd.setBackgroundResource(R.drawable.bg_edt_normal);
binding.layoutUserEdit.edRepsd.setCompoundDrawables(null, null, null, null);
}
}
@Override
......@@ -151,8 +113,8 @@ public class LoginFragment extends BaseFragment implements CustomTimer.TimerCall
}
@Override
protected int rootLayout() {
return R.layout.fg_login;
protected FgLoginBinding getViewBinding(LayoutInflater inflater, ViewGroup container) {
return FgLoginBinding.inflate(inflater,container,false);
}
@Override
......@@ -160,7 +122,7 @@ public class LoginFragment extends BaseFragment implements CustomTimer.TimerCall
mAccountManager = AccountManager.getInstance();
accountInfolist = mAccountManager.findAll();
layout_user_list.setVisibility(View.VISIBLE);
binding.layoutUserList.getRoot().setVisibility(View.VISIBLE);
accountInfoShowList = new ArrayList<>();
for ( int i = 0; i < accountInfolist.size(); i++ ) {
......@@ -179,9 +141,9 @@ public class LoginFragment extends BaseFragment implements CustomTimer.TimerCall
+ " position " + accountInfoShowList.size());
mUserLoginItemAdapter = new UserLoginItemAdapter(getContext(), accountInfoShowList);
//mUserLoginItemAdapter.setUpdateListener(this);
listView_user.setAdapter(mUserLoginItemAdapter);
binding.layoutUserList.listViewUser.setAdapter(mUserLoginItemAdapter);
listView_user.setOnItemClickListener(new AdapterView.OnItemClickListener() {
binding.layoutUserList.listViewUser.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick (AdapterView<?> parent, View view, int position, long id ) {
for ( int i = 0; i < accountInfoShowList.size(); i++ ) {
AccountInfoDB bean = accountInfoShowList.get(i);
......@@ -198,19 +160,22 @@ public class LoginFragment extends BaseFragment implements CustomTimer.TimerCall
@Override
protected void setListener() {
lay_back.setOnClickListener(this);
binding.layBack.setOnClickListener(this);
binding.txtAddUser.setOnClickListener(this);
binding.layoutUserNew.imgAddUser.setOnClickListener(this);
binding.layoutUserList.imgEdit.setOnClickListener(this);
binding.layoutUserEdit.imgEditUser.setOnClickListener(this);
binding.layoutUserList.imgUserSwitch1.setOnClickListener(this);
binding.layoutUserSwtich.imgSwitchUser.setOnClickListener(this);
binding.layoutUserList.imgUserDel.setOnClickListener(this);
}
@Override
@OnClick({ R.id.lay_back,
R.id.txt_add_user, R.id.img_add_user,
R.id.img_edit, R.id.img_edit_user,
R.id.img_user_switch1, R.id.img_switch_user,
R.id.img_user_del, })
public void onClick(View v) {
switch (v.getId()) {
case R.id.lay_back:
if ( layout_user_list.getVisibility() == View.GONE ) {
if ( binding.layoutUserList.getRoot().getVisibility() == View.GONE ) {
refreshList();
initWin();
hideIm();
......@@ -219,13 +184,13 @@ public class LoginFragment extends BaseFragment implements CustomTimer.TimerCall
}
break;
case R.id.txt_add_user:
if ( layout_user_edit.getVisibility() == View.VISIBLE ) {
if ( binding.layoutUserEdit.getRoot().getVisibility() == View.VISIBLE ) {
break;
}
if ( layout_user_new.getVisibility() == View.VISIBLE ) {
if ( binding.layoutUserNew.getRoot().getVisibility() == View.VISIBLE ) {
break;
}
if ( layout_user_swtich.getVisibility() == View.VISIBLE ) {
if ( binding.layoutUserList.getRoot().getVisibility() == View.VISIBLE ) {
break;
}
if ( curLoginAcc == null || (curLoginAcc != null
......@@ -233,38 +198,38 @@ public class LoginFragment extends BaseFragment implements CustomTimer.TimerCall
//Toast.makeText(context, getString(R.string.string_no_admin), Toast.LENGTH_LONG).show();
break;
}
layout_user_list.setVisibility(View.GONE);
layout_user_new.setVisibility(View.VISIBLE);
ed_add_name.setText("");
ed_add_psd.setText("");
ed_add_repsd.setText("");
binding.layoutUserList.getRoot().setVisibility(View.GONE);
binding.layoutUserNew.getRoot().setVisibility(View.VISIBLE);
binding.layoutUserNew.edAddName.setText("");
binding.layoutUserNew.edAddPsd.setText("");
binding.layoutUserNew.edAddRepsd.setText("");
break;
case R.id.img_add_user:
if ( TextUtils.isEmpty(ed_add_name.getText().toString())
|| TextUtils.isEmpty(ed_add_psd.getText().toString())
|| TextUtils.isEmpty(ed_add_repsd.getText().toString()) ) {
if ( TextUtils.isEmpty(binding.layoutUserNew.edAddName.getText().toString())
|| TextUtils.isEmpty(binding.layoutUserNew.edAddPsd.getText().toString())
|| TextUtils.isEmpty(binding.layoutUserNew.edAddRepsd.getText().toString()) ) {
Toast.makeText(context, getString(R.string.string_account_non), Toast.LENGTH_SHORT).show();
break;
}
if ( !ed_add_psd.getText().toString().equals(ed_add_repsd.getText().toString()) ) {
if ( !binding.layoutUserNew.edAddPsd.getText().toString().equals(binding.layoutUserNew.edAddRepsd.getText().toString()) ) {
Toast.makeText(context, getString(R.string.string_psd_inconformity), Toast.LENGTH_SHORT).show();
break;
}
if (ed_add_psd.getText().length() < 8) {
if (binding.layoutUserNew.edAddPsd.getText().length() < 8) {
MyApplication.showToastShort(getString(R.string.string_password_length));
break;
}
if ( mAccountManager.findUserData(ed_add_name.getText().toString()) != null ) {
if ( mAccountManager.findUserData(binding.layoutUserNew.edAddName.getText().toString()) != null ) {
Toast.makeText(context, getString(R.string.string_name_repeat), Toast.LENGTH_SHORT).show();
break;
}
AccountInfoDB tmp = new AccountInfoDB(ed_add_name.getText().toString(),
ed_add_psd.getText().toString(), InitParam.USER_TYPE_USER);
AccountInfoDB tmp = new AccountInfoDB(binding.layoutUserNew.edAddName.getText().toString(),
binding.layoutUserNew.edAddPsd.getText().toString(), InitParam.USER_TYPE_USER);
Logger.d(TAG, "========tmpAddInfoDB=31============");
tmp.saveOrUpdate("id = ?", tmp.getId() + "");
MyApplication.showToastShort(getString(R.string.string_save_success));
lay_back.performClick();
binding.layBack.performClick();
break;
case R.id.img_edit:
if ( curLoginAcc != null
......@@ -281,36 +246,36 @@ public class LoginFragment extends BaseFragment implements CustomTimer.TimerCall
break;
}
}
ed_repsd.setBackgroundResource(R.drawable.bg_edt_normal);
ed_repsd.setCompoundDrawables(null, null, null, null);
layout_user_list.setVisibility(View.GONE);
layout_user_edit.setVisibility(View.VISIBLE);
ed_name.setText("");
ed_psd.setText("");
ed_repsd.setText("");
binding.layoutUserEdit.edRepsd.setBackgroundResource(R.drawable.bg_edt_normal);
binding.layoutUserEdit.edRepsd.setCompoundDrawables(null, null, null, null);
binding.layoutUserList.getRoot().setVisibility(View.GONE);
binding.layoutUserEdit.getRoot().setVisibility(View.VISIBLE);
binding.layoutUserEdit.edName.setText("");
binding.layoutUserEdit.edPsd.setText("");
binding.layoutUserEdit.edRepsd.setText("");
break;
case R.id.img_edit_user:
if ( TextUtils.isEmpty(ed_name.getText().toString())
|| TextUtils.isEmpty(ed_psd.getText().toString())
|| TextUtils.isEmpty(ed_repsd.getText().toString()) ) {
if ( TextUtils.isEmpty(binding.layoutUserEdit.edName.getText().toString())
|| TextUtils.isEmpty(binding.layoutUserEdit.edPsd.getText().toString())
|| TextUtils.isEmpty(binding.layoutUserEdit.edRepsd.getText().toString()) ) {
Toast.makeText(context, getString(R.string.string_account_non), Toast.LENGTH_SHORT).show();
break;
}
if ( !ed_psd.getText().toString().equals(ed_repsd.getText().toString()) ) {
if ( !binding.layoutUserEdit.edPsd.getText().toString().equals(binding.layoutUserEdit.edRepsd.getText().toString()) ) {
Toast.makeText(context, getString(R.string.string_psd_inconformity), Toast.LENGTH_SHORT).show();
break;
}
if (ed_psd.getText().length() < 8) {
if (binding.layoutUserEdit.edPsd.getText().length() < 8) {
MyApplication.showToastShort(getString(R.string.string_password_length));
break;
}
if ( mAccountManager.findUserData(ed_name.getText().toString()) != null ) {
if ( mAccountManager.findUserData(binding.layoutUserEdit.edName.getText().toString()) != null ) {
Toast.makeText(context, getString(R.string.string_name_repeat), Toast.LENGTH_SHORT).show();
break;
}
AccountInfoDB tmp1 = new AccountInfoDB(curSelAcc.getId(), ed_name.getText().toString(),
ed_psd.getText().toString(),
AccountInfoDB tmp1 = new AccountInfoDB(curSelAcc.getId(), binding.layoutUserEdit.edName.getText().toString(),
binding.layoutUserEdit.edPsd.getText().toString(),
curSelAcc.getUserType(), curSelAcc.getIsSelect(), curSelAcc.isLogin());
Logger.d(TAG, "========tmpAddInfoDB=32============" + curSelAcc.isLogin()
+ " getIsSelect " + curSelAcc.getIsSelect());
......@@ -321,8 +286,8 @@ public class LoginFragment extends BaseFragment implements CustomTimer.TimerCall
refreshList();
layout_user_list.setVisibility(View.VISIBLE);
layout_user_edit.setVisibility(View.GONE);
binding.layoutUserList.getRoot().setVisibility(View.VISIBLE);
binding.layoutUserEdit.getRoot().setVisibility(View.GONE);
hideIm();
break;
case R.id.img_user_switch1:
......@@ -334,27 +299,27 @@ public class LoginFragment extends BaseFragment implements CustomTimer.TimerCall
MyApplication.showToastShort(getString(R.string.string_relogin));
break;
}
layout_user_list.setVisibility(View.GONE);
layout_user_swtich.setVisibility(View.VISIBLE);
ed_switch_name.setText(curSelAcc.getName());
ed_switch_name.setEnabled(false);
ed_switch_psd.setText("");
binding.layoutUserList.getRoot().setVisibility(View.GONE);
binding.layoutUserList.getRoot().setVisibility(View.VISIBLE);
binding.layoutUserSwtich.edSwitchName.setText(curSelAcc.getName());
binding.layoutUserSwtich.edSwitchName.setEnabled(false);
binding.layoutUserSwtich.edSwitchPsd.setText("");
break;
case R.id.img_switch_user:
if ( TextUtils.isEmpty(ed_switch_name.getText().toString())
|| TextUtils.isEmpty(ed_switch_psd.getText().toString()) ) {
if ( TextUtils.isEmpty(binding.layoutUserSwtich.edSwitchName.getText().toString())
|| TextUtils.isEmpty(binding.layoutUserSwtich.edSwitchPsd.getText().toString()) ) {
Toast.makeText(context, getString(R.string.string_account_non), Toast.LENGTH_SHORT).show();
break;
}
if (ed_switch_psd.getText().length() < 8) {
if (binding.layoutUserSwtich.edSwitchPsd.getText().length() < 8) {
MyApplication.showToastShort(getString(R.string.string_password_length));
break;
}
if ( mAccountManager.findUserData(ed_switch_name.getText().toString()) == null ) {
if ( mAccountManager.findUserData(binding.layoutUserSwtich.edSwitchName.getText().toString()) == null ) {
Toast.makeText(context, getString(R.string.string_user_bo_exist), Toast.LENGTH_SHORT).show();
break;
}
if ( checkDuplicate(ed_switch_name.getText().toString(), ed_switch_psd.getText().toString())) {
if ( checkDuplicate(binding.layoutUserSwtich.edSwitchName.getText().toString(), binding.layoutUserSwtich.edSwitchPsd.getText().toString())) {
AccountManager.getInstance().clearAllLogin();
AccountManager.getInstance().clearAllSel();
curSelAcc.setLogin(true);
......@@ -364,7 +329,7 @@ public class LoginFragment extends BaseFragment implements CustomTimer.TimerCall
MyApplication.showToastShort(getString(R.string.string_login_success));
homeActivity.setUseName();
homeActivity.showSettingIcon();
lay_back.performClick();
binding.layBack.performClick();
} else {
Toast.makeText(context, getString(R.string.string_psd_error), Toast.LENGTH_SHORT).show();
}
......@@ -374,7 +339,7 @@ public class LoginFragment extends BaseFragment implements CustomTimer.TimerCall
&& curSelAcc.getUserType() != InitParam.USER_TYPE_ADMIN
&& curLoginAcc.getUserType() == InitParam.USER_TYPE_ADMIN ) {
mDelUserPopWindow.setTitle(curSelAcc.getName());
mDelUserPopWindow.showAtLocation(rootView, Gravity.CENTER, 0, 0);
mDelUserPopWindow.showAtLocation(getRootView(), Gravity.CENTER, 0, 0);
} else {
MyApplication.showToastLong1(getActivity().getString(R.string.string_login_or_no_user));
}
......@@ -416,10 +381,10 @@ public class LoginFragment extends BaseFragment implements CustomTimer.TimerCall
}
void initWin() {
layout_user_list.setVisibility(View.VISIBLE);
layout_user_new.setVisibility(View.GONE);
layout_user_edit.setVisibility(View.GONE);
layout_user_swtich.setVisibility(View.GONE);
binding.layoutUserList.getRoot().setVisibility(View.VISIBLE);
binding.layoutUserNew.getRoot().setVisibility(View.GONE);
binding.layoutUserEdit.getRoot().setVisibility(View.GONE);
binding.layoutUserList.getRoot().setVisibility(View.GONE);
}
private void hideInput(View view) {
......
......@@ -2,7 +2,9 @@ package com.sw.laryngoscope.activity.fragment;
import android.app.FragmentManager;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
......@@ -18,41 +20,16 @@ import com.sw.laryngoscope.activity.fragment.setting.LanFragment;
import com.sw.laryngoscope.activity.fragment.setting.LogExportFragment;
import com.sw.laryngoscope.activity.fragment.setting.NetWorkFragment;
import com.sw.laryngoscope.activity.fragment.setting.TimeDateFragment;
import com.sw.laryngoscope.databinding.FgSettingBinding;
import com.sw.laryngoscope.manager.CameraInfoMg;
import com.sw.laryngoscope.utils.Logger;
import butterknife.BindView;
import butterknife.OnClick;
public class SettingFragment extends BaseFragment implements CustomTimer.TimerCallBack,
RadioGroup.OnCheckedChangeListener {
public class SettingFragment extends BaseFragment<FgSettingBinding> implements CustomTimer.TimerCallBack,
RadioGroup.OnCheckedChangeListener,View.OnClickListener {
private static final String TAG = "SettingFragment";
private Context context;
@BindView(R.id.layout_main_show_setting)
View layout_main_show_setting;
@BindView(R.id.setting_fragment)
FrameLayout setting_fragment;
@BindView(R.id.rg_setting_first)
RadioGroup rg_setting_first;
@BindView(R.id.rb_lan)
public RadioButton rb_lan;
@BindView(R.id.rb_timedate)
public RadioButton rb_timedate;
@BindView(R.id.rb_network)
public RadioButton rb_network;
@BindView(R.id.rb_dicom)
public RadioButton rb_dicom;
@BindView(R.id.rb_general_settings)
public RadioButton rb_general_settings;
@BindView(R.id.rb_device_info)
public RadioButton rb_device_info;
@BindView(R.id.rb_log_export)
public RadioButton rb_log_export;
public FragmentManager fragmentManager;
public BaseFragment currFragment;
......@@ -81,18 +58,18 @@ public class SettingFragment extends BaseFragment implements CustomTimer.TimerCa
Logger.d(TAG, "======showFragment===1===hidden ");
//rb_about.setChecked(true);
//rg_setting_first.clearCheck();
layout_main_show_setting.setVisibility(View.VISIBLE);
binding.layoutMainShowSetting.getRoot().setVisibility(View.VISIBLE);
//backHomeFragment();
if ( isBackToSetting ) {
isBackToSetting = false;
if ( rb_network != null ) {
rb_network.setChecked(true);
if ( binding.layoutMainShowSetting.rbNetwork != null ) {
binding.layoutMainShowSetting.rbNetwork.setChecked(true);
}
} else {
if ( !isFirstEnter ) {
isFirstEnter = true;
if ( rb_lan != null ) {
rb_lan.setChecked(true);
if ( binding.layoutMainShowSetting.rbLan != null ) {
binding.layoutMainShowSetting.rbLan.setChecked(true);
}
}
}
......@@ -111,12 +88,12 @@ public class SettingFragment extends BaseFragment implements CustomTimer.TimerCa
//rb_about.setChecked(true);
//rg_setting_first.clearCheck();
Logger.d(TAG, "======showFragment======hidden " + hidden);
layout_main_show_setting.setVisibility(View.VISIBLE);
binding.layoutMainShowSetting.getRoot().setVisibility(View.VISIBLE);
}
@Override
protected int rootLayout() {
return R.layout.fg_setting;
protected FgSettingBinding getViewBinding(LayoutInflater inflater, ViewGroup container) {
return FgSettingBinding.inflate(inflater,container,false);
}
@Override
......@@ -127,11 +104,11 @@ public class SettingFragment extends BaseFragment implements CustomTimer.TimerCa
@Override
protected void setListener() {
rg_setting_first.setOnCheckedChangeListener(this);
binding.layoutMainShowSetting.rgSettingFirst.setOnCheckedChangeListener(this);
binding.layBack.setOnClickListener(this);
}
@Override
@OnClick({ R.id.lay_back, })
public void onClick(View v) {
switch (v.getId()) {
case R.id.lay_back:
......@@ -150,7 +127,7 @@ public class SettingFragment extends BaseFragment implements CustomTimer.TimerCa
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
switch (rg_setting_first.getCheckedRadioButtonId()) {
switch (binding.layoutMainShowSetting.rgSettingFirst.getCheckedRadioButtonId()) {
case R.id.rb_lan:
Logger.d(TAG, "======showFragment======rb_lan");
if (lanFragment == null) {
......@@ -264,7 +241,7 @@ public class SettingFragment extends BaseFragment implements CustomTimer.TimerCa
}
}
currFragment = targetFragment;
setting_fragment.setVisibility(View.VISIBLE);
binding.settingFragment.getRootView().setVisibility(View.VISIBLE);
//layout_main_show_setting.setVisibility(View.GONE);
}
......@@ -277,7 +254,7 @@ public class SettingFragment extends BaseFragment implements CustomTimer.TimerCa
if ( currFragment != null ) {
//rg_setting_first.clearCheck();
fragmentManager.beginTransaction().hide(currFragment).commit();
layout_main_show_setting.setVisibility(View.VISIBLE);
binding.layoutMainShowSetting.getRoot().setVisibility(View.VISIBLE);
}
}
......
......@@ -10,6 +10,7 @@ import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.CheckBox;
......@@ -32,6 +33,7 @@ import com.sw.laryngoscope.activity.HomeActivity;
import com.sw.laryngoscope.adapter.DetailGdItemAdapter;
import com.sw.laryngoscope.adapter.SpaceItemDecoration;
import com.sw.laryngoscope.common.InitParam;
import com.sw.laryngoscope.databinding.FgArchiveDetailBinding;
import com.sw.laryngoscope.db.AccountInfoDB;
import com.sw.laryngoscope.db.RecordInfoDB;
import com.sw.laryngoscope.dicom.Dcm2cheStoreSCU;
......@@ -55,64 +57,14 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import butterknife.BindView;
import butterknife.OnClick;
public class ArcDetailFragment extends BaseFragment implements CustomTimer.TimerCallBack, DetailGdItemAdapter.OnClickLitener,
public class ArcDetailFragment extends BaseFragment<FgArchiveDetailBinding> implements CustomTimer.TimerCallBack, DetailGdItemAdapter.OnClickLitener,
RadioGroup.OnCheckedChangeListener, StorageStateManager.MountCallBack,
DetailCopyInfoPopWindow.copyCallback, SlidingCheckLayout.OnSlidingPositionListener {
DetailCopyInfoPopWindow.copyCallback, SlidingCheckLayout.OnSlidingPositionListener, View.OnClickListener {
private static final String TAG = "ArcDetailFragment";
private Context context;
@BindView(R.id.lay_back)
LinearLayout lay_back;
@BindView(R.id.txt_all_sel)
CheckBox txt_all_sel;
@BindView(R.id.lay_sliding)
SlidingCheckLayout lay_sliding;
@BindView(R.id.gd_detail)
RecyclerView gd_detail;
@BindView(R.id.img_exp)
ImageView img_exp;
@BindView(R.id.img_del)
ImageView img_del;
@BindView(R.id.fg_archive_info)
View fg_archive_info;
@BindView(R.id.rl_sel_num)
RelativeLayout rl_sel_num;
@BindView(R.id.txt_report_num)
TextView txt_report_num;
@BindView(R.id.txt_report_num_value)
TextView txt_report_num_value;
@BindView(R.id.txt_image_num)
TextView txt_image_num;
@BindView(R.id.txt_image_num_value)
TextView txt_image_num_value;
@BindView(R.id.txt_video_num)
TextView txt_video_num;
@BindView(R.id.txt_video_num_value)
TextView txt_video_num_value;
@BindView(R.id.i_view_1)
TextView i_view_1;
@BindView(R.id.layout_file_info)
RelativeLayout layout_file_info;
@BindView(R.id.txt_date_value)
TextView txt_date_value;
@BindView(R.id.txt_time_value)
TextView txt_time_value;
@BindView(R.id.txt_file_size)
TextView txt_file_size;
@BindView(R.id.txt_make_report)
TextView txt_make_report;
@BindView(R.id.txt_make_video)
TextView txt_make_video;
private CustomTimer scrollTimer;
private final String timerTAG_scroll = "scroll";
......@@ -145,26 +97,26 @@ public class ArcDetailFragment extends BaseFragment implements CustomTimer.Timer
void isShowReport() {
if ( mFileListMg.detailList.size() > 0 && mFileListMg.detailList.get(0).isReport() ) {
txt_make_report.setVisibility(View.GONE);
txt_make_video.setVisibility(View.GONE);
binding.fgArchiveInfo.txtMakeReport.setVisibility(View.GONE);
binding.fgArchiveInfo.txtMakeVideo.setVisibility(View.GONE);
} else {
txt_make_report.setVisibility(View.VISIBLE);
txt_make_video.setVisibility(View.VISIBLE);
binding.fgArchiveInfo.txtMakeReport.setVisibility(View.VISIBLE);
binding.fgArchiveInfo.txtMakeVideo.setVisibility(View.VISIBLE);
}
if ( mFileListMg.detailList.size() > 0 && mFileListMg.detailList.get(0).isReport() ) {
txt_report_num.setVisibility(View.VISIBLE);
txt_report_num_value.setVisibility(View.VISIBLE);
txt_image_num.setVisibility(View.GONE);
txt_image_num_value.setVisibility(View.GONE);
txt_video_num.setVisibility(View.GONE);
txt_video_num_value.setVisibility(View.GONE);
binding.txtReportNum.setVisibility(View.VISIBLE);
binding.txtReportNumValue.setVisibility(View.VISIBLE);
binding.txtImageNum.setVisibility(View.GONE);
binding.txtImageNumValue.setVisibility(View.GONE);
binding.txtVideoNum.setVisibility(View.GONE);
binding.txtVideoNumValue.setVisibility(View.GONE);
} else {
txt_report_num.setVisibility(View.GONE);
txt_report_num_value.setVisibility(View.GONE);
txt_image_num.setVisibility(View.VISIBLE);
txt_image_num_value.setVisibility(View.VISIBLE);
txt_video_num.setVisibility(View.VISIBLE);
txt_video_num_value.setVisibility(View.VISIBLE);
binding.txtReportNum.setVisibility(View.GONE);
binding.txtReportNumValue.setVisibility(View.GONE);
binding.txtImageNum.setVisibility(View.VISIBLE);
binding.txtImageNumValue.setVisibility(View.VISIBLE);
binding.txtVideoNum.setVisibility(View.VISIBLE);
binding.txtVideoNumValue.setVisibility(View.VISIBLE);
}
}
......@@ -174,9 +126,9 @@ public class ArcDetailFragment extends BaseFragment implements CustomTimer.Timer
public void initFileInfoShow() {
List<RecordInfoDB> tmplist = mFileListMg.detailList;
if ( tmplist.size() > 0 ) {
if (tmplist.size() > 0 ) {
Logger.d(" setTimeText " + tmplist.get(0).getListMdItemName());
i_view_1.setText(tmplist.get(0).getListMdItemName());
binding.iView1.setText(tmplist.get(0).getListMdItemName());
String startTime = tmplist.get(0).getStartTimestamp(), endTime = startTime;
Iterator<RecordInfoDB> iterator = tmplist.iterator();
while ( iterator.hasNext() ) {
......@@ -198,12 +150,12 @@ public class ArcDetailFragment extends BaseFragment implements CustomTimer.Timer
} else {
}
rl_sel_num.setVisibility(View.VISIBLE);
layout_file_info.setVisibility(View.GONE);
i_view_1.setText("");
txt_date_value.setText("");
txt_time_value.setText("");
txt_file_size.setText("");
binding.rlSelNum.setVisibility(View.VISIBLE);
binding.fgArchiveInfo.layoutFileInfo.setVisibility(View.GONE);
binding.iView1.setText("");
binding.fgArchiveInfo.txtDateValue.setText("");
binding.fgArchiveInfo.txtTimeValue.setText("");
binding.fgArchiveInfo.txtFileSize.setText("");
}
@Override
......@@ -220,28 +172,33 @@ public class ArcDetailFragment extends BaseFragment implements CustomTimer.Timer
Logger.d( " onHiddenChanged hidden " + hidden);
hideIm();
if ( !Storage.isCheckExist(StorageStateManager.getInstance().getUdiskPath()) ) {
img_exp.setEnabled(false);
binding.imgExp.setEnabled(false);
} else if ( Storage.isCheckExist(StorageStateManager.getInstance().getUdiskPath())
&& SpManager.get_usb_input_enabled() ) {
img_exp.setEnabled(true);
binding.imgExp.setEnabled(true);
}
if ( mFileListMg.detailList.size() <= 0
|| mDetailGdItemAdapter.getCheckNum() <= 0
|| !SpManager.get_usb_input_enabled() ) {
//img_exp.setEnabled(false);
}
txt_image_num_value.setText("0");
txt_video_num_value.setText("0");
txt_report_num_value.setText("0");
binding.txtImageNumValue.setText("0");
binding.txtVideoNumValue.setText("0");
binding.txtReportNumValue.setText("0");
initFileInfoShow();
showPermiss();
if (txt_all_sel.isSelected()) {
txt_all_sel.performClick();
if (binding.txtAllSel.isSelected()) {
binding.txtAllSel.performClick();
}
}
@Override
protected FgArchiveDetailBinding getViewBinding(LayoutInflater inflater, ViewGroup container) {
return FgArchiveDetailBinding.inflate(inflater,container,false);
}
public void showPermiss() {
/*if (AccountManager.getInstance().isUserDbOrNoLogin()) {
img_del.setVisibility(View.GONE);
......@@ -251,47 +208,47 @@ public class ArcDetailFragment extends BaseFragment implements CustomTimer.Timer
}
@Override
protected int rootLayout() {
return R.layout.fg_archive_detail;
}
@Override
protected void init() {
//layout_home_home_guest = (ConstraintLayout) rootView.findViewById(R.id.layout_home_home_guest);
mDetailGdItemAdapter = new DetailGdItemAdapter(getContext(), mFileListMg.detailList);
mDetailGdItemAdapter.setOnClickLitener(this);
lay_sliding.setOnSlidingPositionListener(this);
gd_detail.setLayoutManager(new GridLayoutManager(getContext(), 4));
gd_detail.addItemDecoration(new SpaceItemDecoration(25, 0));
gd_detail.setHasFixedSize(false);
binding.laySliding.setOnSlidingPositionListener(this);
binding.gdDetail.setLayoutManager(new GridLayoutManager(getContext(), 4));
binding.gdDetail.addItemDecoration(new SpaceItemDecoration(25, 0));
binding.gdDetail.setHasFixedSize(false);
gd_detail.setAdapter(mDetailGdItemAdapter);
binding.gdDetail.setAdapter(mDetailGdItemAdapter);
if ( !Storage.isCheckExist(StorageStateManager.getInstance().getUdiskPath()) ) {
img_exp.setEnabled(false);
binding.imgExp.setEnabled(false);
} else if ( Storage.isCheckExist(StorageStateManager.getInstance().getUdiskPath())
&& SpManager.get_usb_input_enabled() ) {
img_exp.setEnabled(true);
binding.imgExp.setEnabled(true);
}
if ( mFileListMg.detailList.size() <= 0
|| mDetailGdItemAdapter.getCheckNum() <= 0
|| !SpManager.get_usb_input_enabled() ) {
//img_exp.setEnabled(false);
}
txt_image_num_value.setText("0");
txt_video_num_value.setText("0");
txt_report_num_value.setText("0");
binding.txtImageNumValue.setText("0");
binding.txtVideoNumValue.setText("0");
binding.txtReportNumValue.setText("0");
}
@Override
protected void setListener() {
binding.layBack.setOnClickListener(this);
binding.txtAllSel.setOnClickListener(this);
binding.imgExp.setOnClickListener(this);
binding.imgDel.setOnClickListener(this);
binding.fgArchiveInfo.txtMakeReport.setOnClickListener(this);
binding.fgArchiveInfo.txtMakeVideo.setOnClickListener(this);
}
@Override
@OnClick({ R.id.lay_back, R.id.img_exp, R.id.img_del, R.id.txt_all_sel, R.id.txt_make_report,
R.id.txt_make_video, })
public void onClick(View v) {
switch (v.getId()) {
case R.id.lay_back:
......@@ -299,19 +256,19 @@ public class ArcDetailFragment extends BaseFragment implements CustomTimer.Timer
break;
case R.id.txt_all_sel:
if ( mFileListMg.detailList.size() <= 0 ) {
if ( txt_all_sel.isSelected() ) {
txt_all_sel.setSelected(false);
if ( binding.txtAllSel.isSelected() ) {
binding.txtAllSel.setSelected(false);
}
break;
}
Logger.d(" txt_all_sel " + txt_all_sel.isSelected());
Logger.d(" txt_all_sel " + binding.txtAllSel.isSelected());
if ( mFileListMg.detailList.size() != 0 ) {
txt_all_sel.setSelected(!txt_all_sel.isSelected());
mDetailGdItemAdapter.setAllCheck(txt_all_sel.isSelected());
binding.txtAllSel.setSelected(!binding.txtAllSel.isSelected());
mDetailGdItemAdapter.setAllCheck(binding.txtAllSel.isSelected());
mDetailGdItemAdapter.notifyDataSetChanged();
if ( txt_all_sel.isSelected() ) {
if ( binding.txtAllSel.isSelected() ) {
if ( SpManager.get_usb_input_enabled() ) {
img_exp.setEnabled(true);
binding.imgExp.setEnabled(true);
}
if ( Storage.isCheckExist(StorageStateManager.getInstance().getUdiskPath())
&& SpManager.get_usb_input_enabled() ) {
......@@ -324,15 +281,15 @@ public class ArcDetailFragment extends BaseFragment implements CustomTimer.Timer
|| !SpManager.get_usb_input_enabled() ) {
//img_exp.setEnabled(false);
}
txt_image_num_value.setText(mDetailGdItemAdapter.getImageNum() + "");
txt_video_num_value.setText(mDetailGdItemAdapter.getVideoNum() + "");
binding.txtImageNumValue.setText(mDetailGdItemAdapter.getImageNum() + "");
binding.txtVideoNumValue.setText(mDetailGdItemAdapter.getVideoNum() + "");
break;
case R.id.img_exp:
//img_del.setEnabled(false);
if ( Storage.isCheckExist(StorageStateManager.getInstance().getUdiskPath())
&& SpManager.get_usb_input_enabled()
&& mDetailGdItemAdapter.getCheckNum() > 0 ) {
fg_archive_info.setVisibility(View.GONE);
binding.fgArchiveInfo.getRoot().setVisibility(View.GONE);
//txt_usb_export.setVisibility(View.VISIBLE);
if ( mFileListMg.detailList.size() <= 0 || mDetailGdItemAdapter.getCheckNum() <= 0 ) {
break;
......@@ -354,7 +311,7 @@ public class ArcDetailFragment extends BaseFragment implements CustomTimer.Timer
showSpaceTipDailog();
break;
}
mDetailCopyInfoPopWindow.showAtLocation(rootView, Gravity.CENTER, 0, 0);
mDetailCopyInfoPopWindow.showAtLocation(getRootView(), Gravity.CENTER, 0, 0);
}
break;
case R.id.img_del:
......@@ -412,7 +369,7 @@ public class ArcDetailFragment extends BaseFragment implements CustomTimer.Timer
if ( isChecked ) {
if ( SpManager.get_usb_input_enabled()
&& Storage.isCheckExist(StorageStateManager.getInstance().getUdiskPath()) ) {
img_exp.setEnabled(true);
binding.imgExp.setEnabled(true);
}
}
if ( mFileListMg.detailList.size() <= 0 || mDetailGdItemAdapter.getCheckNum() <= 0 ) {
......@@ -420,9 +377,9 @@ public class ArcDetailFragment extends BaseFragment implements CustomTimer.Timer
} else if ( Storage.isCheckExist(StorageStateManager.getInstance().getUdiskPath())
&& SpManager.get_usb_input_enabled() ) {
}
txt_image_num_value.setText(mDetailGdItemAdapter.getImageNum() + "");
txt_video_num_value.setText(mDetailGdItemAdapter.getVideoNum() + "");
txt_report_num_value.setText(mDetailGdItemAdapter.getReportNum() + "");
binding.txtImageNumValue.setText(mDetailGdItemAdapter.getImageNum() + "");
binding.txtVideoNumValue.setText(mDetailGdItemAdapter.getVideoNum() + "");
binding.txtReportNumValue.setText(mDetailGdItemAdapter.getReportNum() + "");
setSelDataInfo();
}
......@@ -431,9 +388,9 @@ public class ArcDetailFragment extends BaseFragment implements CustomTimer.Timer
public void onSlidingPosition(int position) {
Logger.d( " onSlidingPosition position " + position);
mDetailGdItemAdapter.setsingleCheck(position);
txt_image_num_value.setText(mDetailGdItemAdapter.getImageNum() + "");
txt_video_num_value.setText(mDetailGdItemAdapter.getVideoNum() + "");
txt_report_num_value.setText(mDetailGdItemAdapter.getReportNum() + "");
binding.txtImageNumValue.setText(mDetailGdItemAdapter.getImageNum() + "");
binding.txtVideoNumValue.setText(mDetailGdItemAdapter.getVideoNum() + "");
binding.txtReportNumValue.setText(mDetailGdItemAdapter.getReportNum() + "");
setSelDataInfo();
}
......@@ -442,9 +399,9 @@ public class ArcDetailFragment extends BaseFragment implements CustomTimer.Timer
public void onSlidingRangePosition(int startPosition, int endPosition) {
Logger.d( " onSlidingRangePosition startPosition " + startPosition + " endPosition " + endPosition);
mDetailGdItemAdapter.setRangeCheck(startPosition, endPosition);
txt_image_num_value.setText(mDetailGdItemAdapter.getImageNum() + "");
txt_video_num_value.setText(mDetailGdItemAdapter.getVideoNum() + "");
txt_report_num_value.setText(mDetailGdItemAdapter.getReportNum() + "");
binding.txtImageNumValue.setText(mDetailGdItemAdapter.getImageNum() + "");
binding.txtVideoNumValue.setText(mDetailGdItemAdapter.getVideoNum() + "");
binding.txtReportNumValue.setText(mDetailGdItemAdapter.getReportNum() + "");
setSelDataInfo();
}
......@@ -460,9 +417,9 @@ public class ArcDetailFragment extends BaseFragment implements CustomTimer.Timer
public void MountEventProc(boolean mount) {
Logger.d( " MountEventProc " + mount );
if ( mount && SpManager.get_usb_input_enabled() ) {
img_exp.setEnabled(true);
binding.imgExp.setEnabled(true);
} else {
img_exp.setEnabled(false);
binding.imgExp.setEnabled(false);
}
}
......@@ -506,8 +463,8 @@ public class ArcDetailFragment extends BaseFragment implements CustomTimer.Timer
mFileListMg.detailList.get(i - 1).getFilename());
}
}
if (txt_all_sel.isSelected()) {
txt_all_sel.performClick();
if (binding.txtAllSel.isSelected()) {
binding.txtAllSel.performClick();
}
mFileListMg.getDetailList(listMdItemName);
mDetailGdItemAdapter.setList(mFileListMg.detailList);
......@@ -664,7 +621,7 @@ public class ArcDetailFragment extends BaseFragment implements CustomTimer.Timer
break;
case MSG_COPY_END:
mDetailCopyInfoPopWindow.dismiss();
fg_archive_info.setVisibility(View.VISIBLE);
binding.fgArchiveInfo.getRoot().setVisibility(View.VISIBLE);
Log.d(TAG, "==.dismiss()2============");
break;
default:
......@@ -690,42 +647,42 @@ public class ArcDetailFragment extends BaseFragment implements CustomTimer.Timer
int size = tmpList.size();
Logger.d(" setSelDataInfo size " + size);
if ( size == 1 ) {
layout_file_info.setVisibility(View.VISIBLE);
txt_date_value.setText(tmpList.get(0).getListDay());
binding.fgArchiveInfo.layoutFileInfo.setVisibility(View.VISIBLE);
binding.fgArchiveInfo.txtDateValue.setText(tmpList.get(0).getListDay());
if ( tmpList.get(0).getType() == InitParam.FILE_VIDEO ) {
txt_time_value.setText(TimeUtil.timeStamp2ZoneHm(Long.parseLong(tmpList.get(0).getStartTimestamp()))
binding.fgArchiveInfo.txtTimeValue.setText(TimeUtil.timeStamp2ZoneHm(Long.parseLong(tmpList.get(0).getStartTimestamp()))
/*+ "-" + TimeUtil.timeStamp2ZoneHms(Long.parseLong(tmpList.get(0).getEndTimestamp()))*/);
} else {
txt_time_value.setText(TimeUtil.timeStamp2ZoneHm(Long.parseLong(tmpList.get(0).getStartTimestamp())));
binding.fgArchiveInfo.txtTimeValue.setText(TimeUtil.timeStamp2ZoneHm(Long.parseLong(tmpList.get(0).getStartTimestamp())));
}
if ( (total / 1024.0f) > 1.00000000f ) {
txt_file_size.setText(Math.round(total / 1024f * 10) / 10.0f + " MB");
binding.fgArchiveInfo.txtFileSize.setText(Math.round(total / 1024f * 10) / 10.0f + " MB");
} else {
txt_file_size.setText(Math.round(total * 10) / 10.0f + " KB");
binding.fgArchiveInfo.txtFileSize.setText(Math.round(total * 10) / 10.0f + " KB");
}
rl_sel_num.setVisibility(View.GONE);
binding.rlSelNum.setVisibility(View.GONE);
} else if ( size > 1 ) {
layout_file_info.setVisibility(View.GONE);
rl_sel_num.setVisibility(View.VISIBLE);
binding.fgArchiveInfo.layoutFileInfo.setVisibility(View.GONE);
binding.rlSelNum.setVisibility(View.VISIBLE);
if ( mFileListMg.detailList.size() > 0 && mFileListMg.detailList.get(0).isReport() ) {
txt_report_num.setVisibility(View.VISIBLE);
txt_report_num_value.setVisibility(View.VISIBLE);
txt_image_num.setVisibility(View.GONE);
txt_image_num_value.setVisibility(View.GONE);
txt_video_num.setVisibility(View.GONE);
txt_video_num_value.setVisibility(View.GONE);
binding.txtReportNum.setVisibility(View.VISIBLE);
binding.txtReportNumValue.setVisibility(View.VISIBLE);
binding.txtImageNum.setVisibility(View.GONE);
binding.txtImageNumValue.setVisibility(View.GONE);
binding.txtVideoNum.setVisibility(View.GONE);
binding.txtVideoNumValue.setVisibility(View.GONE);
} else {
txt_report_num.setVisibility(View.GONE);
txt_report_num_value.setVisibility(View.GONE);
txt_image_num.setVisibility(View.VISIBLE);
txt_image_num_value.setVisibility(View.VISIBLE);
txt_video_num.setVisibility(View.VISIBLE);
txt_video_num_value.setVisibility(View.VISIBLE);
binding.txtReportNum.setVisibility(View.GONE);
binding.txtReportNumValue.setVisibility(View.GONE);
binding.txtImageNum.setVisibility(View.VISIBLE);
binding.txtImageNumValue.setVisibility(View.VISIBLE);
binding.txtVideoNum.setVisibility(View.VISIBLE);
binding.txtVideoNumValue.setVisibility(View.VISIBLE);
}
} else {
txt_date_value.setText("");
txt_time_value.setText("");
txt_file_size.setText("");
binding.fgArchiveInfo.txtDateValue.setText("");
binding.fgArchiveInfo.txtTimeValue.setText("");
binding.fgArchiveInfo.txtFileSize.setText("");
}
}
......
......@@ -9,6 +9,7 @@ import android.net.Uri;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;
......@@ -28,6 +29,7 @@ import com.sw.laryngoscope.activity.CustomTimer;
import com.sw.laryngoscope.activity.HomeActivity;
import com.sw.laryngoscope.adapter.ListAdapter;
import com.sw.laryngoscope.common.InitParam;
import com.sw.laryngoscope.databinding.FgArchivePlayBinding;
import com.sw.laryngoscope.manager.SpManager;
import com.sw.laryngoscope.manager.StorageStateManager;
import com.sw.laryngoscope.utils.Logger;
......@@ -36,53 +38,15 @@ import com.sw.laryngoscope.widget.PhotoView.PhotoView;
import java.io.File;
import butterknife.BindView;
import butterknife.OnClick;
//import uk.co.senab.photoview.PhotoView;
//import uk.co.senab.photoview.PhotoViewAttacher;
public class ArcPlayFragment extends BaseFragment implements
public class ArcPlayFragment extends BaseFragment<FgArchivePlayBinding> implements
CustomTimer.TimerCallBack, ListAdapter.OnClickLitener, RadioGroup.OnCheckedChangeListener,
StorageStateManager.MountCallBack {
StorageStateManager.MountCallBack,View.OnClickListener {
private static final String TAG = "ArcPlayFragment";
private Context context;
@BindView(R.id.layout_main_play)
ConstraintLayout layout_main_play;
@BindView(R.id.lay_back)
LinearLayout lay_back;
@BindView(R.id.rl_pic)
RelativeLayout rl_pic;
@BindView(R.id.img_preview)
PhotoView img_preview;
@BindView(R.id.rl_video)
RelativeLayout rl_video;
@BindView(R.id.img_first_frame)
ImageView img_first_frame;
@BindView(R.id.video_view)
CustomVideoView video_view;
/*@BindView(R.id.video_surfaceview)
SurfaceView video_surfaceview;*/
@BindView(R.id.main_controller_liner)
RelativeLayout main_controller_liner;
@BindView(R.id.play_pasue_image)
ImageView play_pasue_image;
@BindView(R.id.main_current_time)
TextView main_current_time;
@BindView(R.id.main_play_seek)
SeekBar main_play_seek;
@BindView(R.id.main_totally_time)
TextView main_totally_time;
@BindView(R.id.txt_name)
TextView txt_name;
private CustomTimer scrollTimer;
private final String timerTAG_scroll = "scroll";
......@@ -109,7 +73,7 @@ public class ArcPlayFragment extends BaseFragment implements
@Override
public void onResume() {
super.onResume();
img_preview.enable();
binding.imgPreview.enable();
showPermiss();
if ( mFileListMg.detailList.size() != 0 ) {
}
......@@ -131,12 +95,12 @@ public class ArcPlayFragment extends BaseFragment implements
Logger.d(" curRecordInfoPos " + mFileListMg.curRecordInfoPos);
showTip();
layout_main_play.setVisibility(View.VISIBLE);
binding.layoutMainPlay.setVisibility(View.VISIBLE);
} else {
stopVideo();
main_play_seek.setProgress(0);
updataTimeFormat(main_current_time, 0);
layout_main_play.setVisibility(View.GONE);
binding.mainPlaySeek.setProgress(0);
updataTimeFormat(binding.mainCurrentTime, 0);
binding.layoutMainPlay.setVisibility(View.GONE);
}
hideIm();
......@@ -145,6 +109,11 @@ public class ArcPlayFragment extends BaseFragment implements
showPermiss();
}
@Override
protected FgArchivePlayBinding getViewBinding(LayoutInflater inflater, ViewGroup container) {
return FgArchivePlayBinding.inflate(inflater,container,false);
}
public void showPermiss() {
/*if (AccountManager.getInstance().isUserDbOrNoLogin()) {
img_del.setVisibility(View.GONE);
......@@ -154,11 +123,6 @@ public class ArcPlayFragment extends BaseFragment implements
}
@Override
protected int rootLayout() {
return R.layout.fg_archive_play;
}
@Override
protected void init() {
curPos = mFileListMg.detailList.size() - mFileListMg.curRecordInfoPos - 1;
//video_view = new MediaPlayer();
......@@ -183,27 +147,27 @@ public class ArcPlayFragment extends BaseFragment implements
@Override
protected void setListener() {
video_view.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
binding.videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
play_pasue_image.setImageResource(R.drawable.btn_play);
binding.playPasueImage.setImageResource(R.drawable.btn_play);
mPlayHandler.removeMessages(UPDATA_VIDEO_NUM);
mPlayHandler.removeCallbacks(null);
updataTimeFormat(main_current_time, 0);
main_play_seek.setProgress(0);
video_view.setVideoPath(curPlayFile);
updataTimeFormat(binding.mainCurrentTime, 0);
binding.mainPlaySeek.setProgress(0);
binding.videoView.setVideoPath(curPlayFile);
img_first_frame.setVisibility(View.VISIBLE);
binding.imgFirstFrame.setVisibility(View.VISIBLE);
}
});
//播放进度条事件
main_play_seek.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
binding.mainPlaySeek.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
//设置当前的播放时间
updataTimeFormat(main_current_time, progress > 3 * 60 * 1000 ? 3 * 60 * 1000 : progress);
if (video_view.getDuration() == progress) {
play_pasue_image.setImageResource(R.drawable.btn_play);
updataTimeFormat(binding.mainCurrentTime, progress > 3 * 60 * 1000 ? 3 * 60 * 1000 : progress);
if (binding.videoView.getDuration() == progress) {
binding.playPasueImage.setImageResource(R.drawable.btn_play);
}
}
......@@ -220,18 +184,24 @@ public class ArcPlayFragment extends BaseFragment implements
//停止拖动后,获取总进度
int totall = seekBar.getProgress();
//设置VideoView的播放进度
video_view.seekTo(totall);
binding.videoView.seekTo(totall);
//重新handler刷新
mPlayHandler.sendEmptyMessage(UPDATA_VIDEO_NUM);
Logger.d(" onStopTrackingTouch " + totall );
}
});
binding.layBack.setOnClickListener(this);
binding.playPasueImage.setOnClickListener(this);
binding.imgPicNext.setOnClickListener(this);
binding.imgFilmNext.setOnClickListener(this);
binding.imgPicForward.setOnClickListener(this);
binding.imgFilmForward.setOnClickListener(this);
binding.imgPicExpansion.setOnClickListener(this);
binding.imgPicReduce.setOnClickListener(this);
}
@Override
@OnClick({ R.id.lay_back, R.id.play_pasue_image, R.id.img_film_forward, R.id.img_film_next,
R.id.img_pic_forward, R.id.img_pic_next,
R.id.img_pic_expansion, R.id.img_pic_reduce, })
public void onClick(View v) {
switch (v.getId()) {
case R.id.lay_back:
......@@ -239,17 +209,17 @@ public class ArcPlayFragment extends BaseFragment implements
mPlayHandler.removeCallbacks(null);
stopVideo();
main_play_seek.setProgress(0);
binding.mainPlaySeek.setProgress(0);
homeFragment.backDetailFg();
break;
case R.id.play_pasue_image:
if ( video_view.isPlaying() ) {
if ( binding.videoView.isPlaying() ) {
pauseAndResumeVideo();
Logger.d(" play_pasue_image pauseAndResumeVideo 1");
} else {
String file = mFileListMg.showRecordInfoDB.getFilepath() +
File.separator + mFileListMg.showRecordInfoDB.getFilename();
if ( curPlayFile.equals(file) && video_view != null ) {
if ( curPlayFile.equals(file) && binding.videoView != null ) {
pauseAndResumeVideo();
Logger.d(" play_pasue_image pauseAndResumeVideo 2");
} else {
......@@ -283,20 +253,20 @@ public class ArcPlayFragment extends BaseFragment implements
case R.id.img_pic_expansion:
/*Logger.d(" getMaximumScale " + " getMinimumScale " + mAttacher.getMinimumScale() + mAttacher.getMaximumScale()
+ " getScale " + mAttacher.getScale());*/
curScale = img_preview.getmScale();
curScale = binding.imgPreview.getmScale();
curScale += 0.2f;
if ( curScale >= img_preview.getMaxScale() ) {
curScale = img_preview.getMaxScale();
if ( curScale >= binding.imgPreview.getMaxScale() ) {
curScale = binding.imgPreview.getMaxScale();
}
img_preview.setScale(curScale);
binding.imgPreview.setScale(curScale);
break;
case R.id.img_pic_reduce:
curScale = img_preview.getmScale();
curScale = binding.imgPreview.getmScale();
curScale -= 0.2f;
if ( curScale <= img_preview.getmMinScale() ) {
curScale = img_preview.getmMinScale();
if ( curScale <= binding.imgPreview.getmMinScale() ) {
curScale = binding.imgPreview.getmMinScale();
}
img_preview.setScale(curScale);
binding.imgPreview.setScale(curScale);
break;
default:
break;
......@@ -316,10 +286,10 @@ public class ArcPlayFragment extends BaseFragment implements
mFileListMg.curRecordInfoPos = mFileListMg.detailList.size() - position - 1;//界面显示的位置,在Adapter中的
Logger.d("==========setListener===getFilename=====" + mFileListMg.showRecordInfoDB.getFilename());
Logger.d(" curRecordInfoPos " + mFileListMg.curRecordInfoPos);
txt_name.setText(mFileListMg.showRecordInfoDB.getTitle());
binding.txtName.setText(mFileListMg.showRecordInfoDB.getTitle());
stopVideo();
main_play_seek.setProgress(0);
binding.mainPlaySeek.setProgress(0);
showTip();
showFileNum();
......@@ -343,7 +313,7 @@ public class ArcPlayFragment extends BaseFragment implements
public void showTip() {
//txt_time_value.setText(mFileListMg.showRecordInfoDB.getHourTime());
if ( mFileListMg.detailList.size() != 0 ) {
txt_name.setText(mFileListMg.showRecordInfoDB.getTitle());
binding.txtName.setText(mFileListMg.showRecordInfoDB.getTitle());
}
String file = mFileListMg.showRecordInfoDB.getFilepath() +
......@@ -357,16 +327,16 @@ public class ArcPlayFragment extends BaseFragment implements
//img_preview.getAttacher().setScaleLevels(curScale, curScale + 0.5f, curScale + 1.0f);
Log.d("onDraw", "=========11============");
setViewParam(perSize, (int)(perSize * 1.0f * height / width), img_preview);
setViewParam(perSize, (int)(perSize * 1.0f * height / width), binding.imgPreview);
//Logger.d(" file " + file + " " + (int)(perSize * 1.0f * height / width) + " curScale " + curScale);
Glide.with(homeActivity).load( Uri.fromFile(new File(file)) ).into(img_preview);
rl_pic.setVisibility(View.VISIBLE);
Glide.with(homeActivity).load( Uri.fromFile(new File(file)) ).into(binding.imgPreview);
binding.rlPic.setVisibility(View.VISIBLE);
/*Bitmap tmp = BitmapUtil.ScaleImgMax(BitmapFactory.decodeFile(file), perSize, (int)(perSize * 1.0f * height / width));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
tmp.compress(Bitmap.CompressFormat.PNG, 100, baos);
Glide.with(homeActivity).load(baos.toByteArray()).into(img_preview);*/
//tmp.recycle();
rl_video.setVisibility(View.GONE);
binding.rlVideo.setVisibility(View.GONE);
//mAttacher.cleanup();
/*rl_video.removeCallbacks(null);
......@@ -374,23 +344,23 @@ public class ArcPlayFragment extends BaseFragment implements
100 );*/
//stopVideo();
} else if ( mFileListMg.showRecordInfoDB.getType() == InitParam.FILE_VIDEO ) {
rl_pic.setVisibility(View.GONE);
rl_video.setVisibility(View.VISIBLE);
binding.rlPic.setVisibility(View.GONE);
binding.rlVideo.setVisibility(View.VISIBLE);
int width = mFileListMg.showRecordInfoDB.getWidth();//Thumbnail.getVideoWidth(file);
int height = mFileListMg.showRecordInfoDB.getHeight();//Thumbnail.getVideoHeight(file);
setViewParam(perSize, (int)(perSize * 1.0f * height / width), video_view);
setViewParam(perSize, (int)(perSize * 1.0f * height / width), img_first_frame);
video_view.setVideoPath(file);
setViewParam(perSize, (int)(perSize * 1.0f * height / width), binding.videoView);
setViewParam(perSize, (int)(perSize * 1.0f * height / width), binding.imgFirstFrame);
binding.videoView.setVideoPath(file);
Glide.with(getContext()).load( Uri.fromFile(new File(
mFileListMg.showRecordInfoDB.getThumbnailpath() +
File.separator + mFileListMg.showRecordInfoDB.getThumbnailname()
)) ).into(img_first_frame);
img_first_frame.setVisibility(View.VISIBLE);
)) ).into(binding.imgFirstFrame);
binding.imgFirstFrame.setVisibility(View.VISIBLE);
/*updataTimeFormat(main_totally_time,
(int)mFileListMg.showRecordInfoDB.getDuration() > 3 * 60 * 1000 ?
(int)3 * 60 * 1000 : (int)mFileListMg.showRecordInfoDB.getDuration());*/
updataTimeFormat(main_totally_time, (int)mFileListMg.showRecordInfoDB.getDuration());
updataTimeFormat(binding.mainTotallyTime, (int)mFileListMg.showRecordInfoDB.getDuration());
} else {
file = mFileListMg.showRecordInfoDB.getThumbnailpath() +
File.separator + mFileListMg.showRecordInfoDB.getThumbnailname();
......@@ -399,12 +369,12 @@ public class ArcPlayFragment extends BaseFragment implements
int height = fileMap.getHeight();
fileMap.recycle();
curScale = 1.0f;
setViewParam((int)(perSize * 1.0f * width / height), perSize, img_preview);
Glide.with(homeActivity).load( Uri.fromFile(new File(file)) ).into(img_preview);
setViewParam((int)(perSize * 1.0f * width / height), perSize, binding.imgPreview);
Glide.with(homeActivity).load( Uri.fromFile(new File(file)) ).into(binding.imgPreview);
//Logger.d(" file " + file + " " + (int)(perSize * 1.0f * width / height) + " curScale " + curScale);
rl_pic.setVisibility(View.VISIBLE);
rl_video.setVisibility(View.GONE);
binding.rlPic.setVisibility(View.VISIBLE);
binding.rlVideo.setVisibility(View.GONE);
}
}
......@@ -418,44 +388,44 @@ public class ArcPlayFragment extends BaseFragment implements
//video_view.seekTo(currentPosition);
mPlayHandler.removeMessages(UPDATA_VIDEO_NUM);
mPlayHandler.removeCallbacks(null);
video_view.start();
binding.videoView.start();
/*} else {
video_view.resume();
}*/
play_pasue_image.setImageResource(R.mipmap.img_play_2);
binding.playPasueImage.setImageResource(R.mipmap.img_play_2);
mPlayHandler.sendEmptyMessage(UPDATA_VIDEO_NUM);
img_first_frame.setVisibility(View.GONE);
binding.imgFirstFrame.setVisibility(View.GONE);
} catch (Exception e) {
e.printStackTrace();
}
}
private void pauseAndResumeVideo() {
if( video_view != null && video_view.isPlaying() ) {
video_view.pause();
play_pasue_image.setImageResource(R.drawable.btn_play);
if( binding.videoView != null && binding.videoView.isPlaying() ) {
binding.videoView.pause();
binding.playPasueImage.setImageResource(R.drawable.btn_play);
mPlayHandler.removeMessages(UPDATA_VIDEO_NUM);
mPlayHandler.removeCallbacks(null);
Logger.d(" play_pasue_image pauseAndResumeVideo 4");
} else if( video_view != null && !video_view.isPlaying() ) {
} else if( binding.videoView != null && !binding.videoView.isPlaying() ) {
//video_view.resume();
//video_view.setVideoURI(Uri.parse(curPlayFile));
mPlayHandler.removeMessages(UPDATA_VIDEO_NUM);
mPlayHandler.removeCallbacks(null);
video_view.start();
play_pasue_image.setImageResource(R.mipmap.img_play_2);
binding.videoView.start();
binding.playPasueImage.setImageResource(R.mipmap.img_play_2);
mPlayHandler.sendEmptyMessage(UPDATA_VIDEO_NUM);
img_first_frame.setVisibility(View.GONE);
binding.imgFirstFrame.setVisibility(View.GONE);
Logger.d(" play_pasue_image pauseAndResumeVideo 5");
}
}
private void stopVideo() {
if( video_view != null && video_view.isPlaying() ) {
video_view.pause();
if( binding.videoView != null && binding.videoView.isPlaying() ) {
binding.videoView.pause();
//video_view.release();
//video_view = null;
play_pasue_image.setImageResource(R.drawable.btn_play);
binding.playPasueImage.setImageResource(R.drawable.btn_play);
mPlayHandler.removeMessages(UPDATA_VIDEO_NUM);
mPlayHandler.removeCallbacks(null);
Logger.d(" stopVideo ---- ");
......@@ -468,11 +438,11 @@ public class ArcPlayFragment extends BaseFragment implements
public void handleMessage(Message msg) {
switch (msg.what) {
case UPDATA_VIDEO_NUM:
currentPosition = video_view.getCurrentPosition();
currentPosition = binding.videoView.getCurrentPosition();
//获取视频播放的当前时间
int currentTime = video_view.getCurrentPosition();
int currentTime = binding.videoView.getCurrentPosition();
//获取视频的总时间
int totally = video_view.getDuration();
int totally = binding.videoView.getDuration();
if ( totally - currentTime < 1000 ) {
currentTime = totally;
}
......@@ -482,13 +452,13 @@ public class ArcPlayFragment extends BaseFragment implements
/*updataTimeFormat(main_totally_time,
(int)mFileListMg.showRecordInfoDB.getDuration() > 3 * 60 * 1000 ?
(int)3 * 60 * 1000 : (int)mFileListMg.showRecordInfoDB.getDuration());*/
updataTimeFormat(main_totally_time, (int)mFileListMg.showRecordInfoDB.getDuration());
updataTimeFormat(binding.mainTotallyTime, (int)mFileListMg.showRecordInfoDB.getDuration());
}
updataTimeFormat(main_current_time, currentTime > 3 * 60 * 1000 ? 3 * 60 * 1000 : currentTime/* + 500*/);
updataTimeFormat(binding.mainCurrentTime, currentTime > 3 * 60 * 1000 ? 3 * 60 * 1000 : currentTime/* + 500*/);
//设置播放进度
main_play_seek.setMax(totally);
main_play_seek.setProgress(currentTime);
binding.mainPlaySeek.setMax(totally);
binding.mainPlaySeek.setProgress(currentTime);
Logger.d(" setProgress " + (int) (currentTime * 1.0 / totally * 100)
+ " totally " + totally + " currentTime " + currentTime );
//自己通知自己更新
......
......@@ -4,7 +4,9 @@ import android.app.FragmentManager;
import android.content.Context;
import android.os.Handler;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView;
......@@ -25,6 +27,7 @@ import com.sw.laryngoscope.activity.HomeActivity;
import com.sw.laryngoscope.adapter.FolderItemAdapter;
import com.sw.laryngoscope.adapter.SpaceItemDecoration;
import com.sw.laryngoscope.common.InitParam;
import com.sw.laryngoscope.databinding.FgArchiveBinding;
import com.sw.laryngoscope.db.AccountInfoDB;
import com.sw.laryngoscope.db.FileDayBean;
import com.sw.laryngoscope.db.FileInfoMonthBean;
......@@ -40,33 +43,11 @@ import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import butterknife.BindView;
import butterknife.OnClick;
public class ArchiveFragment extends BaseFragment implements CustomTimer.TimerCallBack, FolderItemAdapter.OnClickLitener {
public class ArchiveFragment extends BaseFragment<FgArchiveBinding> implements CustomTimer.TimerCallBack, FolderItemAdapter.OnClickLitener {
private static final String TAG = "ArchiveFragment";
private Context context;
@BindView(R.id.lay_back)
LinearLayout lay_back;
@BindView(R.id.layout_time_sel)
RelativeLayout layout_time_sel;
@BindView(R.id.btn_time_sel)
TextView btn_time_sel;
@BindView(R.id.txt_search)
EditText txt_search;
@BindView(R.id.layout_archive_file)
View layout_archive_file;
@BindView(R.id.rv_file_list)
RecyclerView rv_file_list;
@BindView(R.id.archive_fragment)
FrameLayout archive_fragment;
private CustomTimer scrollTimer;
private final String timerTAG_scroll = "scroll";
......@@ -131,6 +112,11 @@ public class ArchiveFragment extends BaseFragment implements CustomTimer.TimerCa
enterCurPos();
}
@Override
protected FgArchiveBinding getViewBinding(LayoutInflater inflater, ViewGroup container) {
return FgArchiveBinding.inflate(inflater,container,false);
}
public void hideWin() {
if ( currFragment != null && currFragment == graphicReportFragment && currFragment.isVisible() ) {
backDetailFg();
......@@ -147,27 +133,22 @@ public class ArchiveFragment extends BaseFragment implements CustomTimer.TimerCa
}
@Override
protected int rootLayout() {
return R.layout.fg_archive;
}
@Override
protected void init() {
fragmentManager = getChildFragmentManager();
//layout_home_home_guest = (ConstraintLayout) rootView.findViewById(R.id.layout_home_home_guest);
txt_search.setOnEditorActionListener(new EditText.OnEditorActionListener() {
binding.layoutArchiveFile.txtSearch.setOnEditorActionListener(new EditText.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId,
KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
// 执行搜索功能
hideIm();
Logger.d(" onEditorAction " + txt_search.getText().toString().trim());
Logger.d(" onEditorAction " + binding.layoutArchiveFile.txtSearch.getText().toString().trim());
if ( mFileListMg.curFoldLevel == InitParam.FOLDER_LEVEL.L_ONE.ordinal() ) {
return false;
}
if ( !txt_search.getText().toString().isEmpty() ) {
mFileListMg.initSearchList(txt_search.getText().toString().trim());
if ( !binding.layoutArchiveFile.txtSearch.getText().toString().isEmpty() ) {
mFileListMg.initSearchList(binding.layoutArchiveFile.txtSearch.getText().toString().trim());
mFolderAdapter.setList(mFileListMg.folderList);
mFolderAdapter.notifyDataSetChanged();
}
......@@ -176,15 +157,15 @@ public class ArchiveFragment extends BaseFragment implements CustomTimer.TimerCa
}
});
rv_file_list.setLayoutManager(new GridLayoutManager(getContext(), 4));
rv_file_list.addItemDecoration(new SpaceItemDecoration(85, 50));
rv_file_list.setHasFixedSize(false);
binding.layoutArchiveFile.rvFileList.setLayoutManager(new GridLayoutManager(getContext(), 4));
binding.layoutArchiveFile.rvFileList.addItemDecoration(new SpaceItemDecoration(85, 50));
binding.layoutArchiveFile.rvFileList.setHasFixedSize(false);
mFileListMg = new FileListMg(homeActivity.getContext());
initFile();
mFolderAdapter = new FolderItemAdapter(getContext(), mFileListMg.folderList, mFileListMg);
rv_file_list.setAdapter(mFolderAdapter);
binding.layoutArchiveFile.rvFileList.setAdapter(mFolderAdapter);
/*if ( mFileListMg.curDateFileList.size() > 0 ) {
mFileAdapter.notifyDataSetChanged();
}*/
......@@ -196,7 +177,7 @@ public class ArchiveFragment extends BaseFragment implements CustomTimer.TimerCa
SpManager.get_file_show_time() == i);
getdata.add(timeInfoBean);
}
btn_time_sel.setText(InitParam.FILE_TIME_RES[SpManager.get_file_show_time()]);
binding.layoutArchiveFile.btnTimeSel.setText(InitParam.FILE_TIME_RES[SpManager.get_file_show_time()]);
mTimePopWindow = new TimePopWindow<TimeInfoBean>(homeActivity,
getdata, itemClickListener);
mTimePopWindow.setOnDismissListener(dismissListener);
......@@ -208,12 +189,12 @@ public class ArchiveFragment extends BaseFragment implements CustomTimer.TimerCa
if ( userDb.getUserType() == InitParam.USER_TYPE_ADMIN ) {
mFileListMg.curFoldLevel = InitParam.FOLDER_LEVEL.L_ONE.ordinal();
mFileListMg.initList();
layout_time_sel.setVisibility(View.GONE);
txt_search.setVisibility(View.GONE);
binding.layoutArchiveFile.btnTimeSel.setVisibility(View.GONE);
binding.layoutArchiveFile.txtSearch.setVisibility(View.GONE);
} else {
selTwoFold(userDb.getName());
layout_time_sel.setVisibility(View.VISIBLE);
txt_search.setVisibility(View.VISIBLE);
binding.layoutArchiveFile.btnTimeSel.setVisibility(View.VISIBLE);
binding.layoutArchiveFile.txtSearch.setVisibility(View.VISIBLE);
}
}
......@@ -228,7 +209,7 @@ public class ArchiveFragment extends BaseFragment implements CustomTimer.TimerCa
mFileListMg.curSelUserName = "";
mFolderAdapter.setList(mFileListMg.folderList);
mFolderAdapter.notifyDataSetChanged();
lay_back.setVisibility(View.GONE);
binding.layBack.setVisibility(View.GONE);
}
fileCount = tmpCount;
userCount = accCount;
......@@ -236,11 +217,39 @@ public class ArchiveFragment extends BaseFragment implements CustomTimer.TimerCa
@Override
protected void setListener() {
binding.layoutArchiveFile.btnTimeSel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isShowDialog) {
isShowDialog = false;
if (mTimePopWindow != null) {
mTimePopWindow.dismiss();
}
} else {
isShowDialog = true;
mTimePopWindow.setList(getdata);
if (mTimePopWindow != null) {
mTimePopWindow.showAsDropDown(binding.layoutArchiveFile.btnTimeSel, 0, 5);
}
}
}
});
binding.layBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
binding.layBack.setVisibility(View.GONE);
mFileListMg.curSelUserName = "";
initFile();
mFolderAdapter.setList(mFileListMg.folderList);
mFolderAdapter.notifyDataSetChanged();
}
});
}
public void selTwoFold(String user) {
layout_time_sel.setVisibility(View.VISIBLE);
txt_search.setVisibility(View.VISIBLE);
binding.layoutArchiveFile.layoutTimeSel.setVisibility(View.VISIBLE);
binding.layoutArchiveFile.txtSearch.setVisibility(View.VISIBLE);
mFileListMg.curFoldLevel = InitParam.FOLDER_LEVEL.L_TWO.ordinal();
mFileListMg.curSelUserName = user;
......@@ -257,7 +266,7 @@ public class ArchiveFragment extends BaseFragment implements CustomTimer.TimerCa
selTwoFold(user);
mFolderAdapter.setList(mFileListMg.folderList);
mFolderAdapter.notifyDataSetChanged();
lay_back.setVisibility(View.VISIBLE);
binding.layBack.setVisibility(View.VISIBLE);
}
@Override
......@@ -268,7 +277,7 @@ public class ArchiveFragment extends BaseFragment implements CustomTimer.TimerCa
(new Handler()).post( new Runnable() {
@Override
public void run() {
lay_back.setVisibility(View.GONE);
binding.layBack.setVisibility(View.GONE);
if (arcDetailFragment == null) {
arcDetailFragment = new ArcDetailFragment();
arcDetailFragment.setHomeActivity(homeActivity);
......@@ -284,45 +293,9 @@ public class ArchiveFragment extends BaseFragment implements CustomTimer.TimerCa
});
}
@Override
@OnClick({ R.id.btn_time_sel, R.id.lay_back, })
public void onClick(View v) {
switch (v.getId()) {
/*case R.id.lay_back:
homeActivity.showHomeFragment();
break;
case R.id.rb_recent:
rv_file_list.scrollToPosition(0);
break;*/
case R.id.lay_back:
lay_back.setVisibility(View.GONE);
mFileListMg.curSelUserName = "";
initFile();
mFolderAdapter.setList(mFileListMg.folderList);
mFolderAdapter.notifyDataSetChanged();
break;
case R.id.btn_time_sel:
if (isShowDialog) {
isShowDialog = false;
if (mTimePopWindow != null) {
mTimePopWindow.dismiss();
}
} else {
isShowDialog = true;
mTimePopWindow.setList(getdata);
if (mTimePopWindow != null) {
mTimePopWindow.showAsDropDown(btn_time_sel, 0, 5);
}
}
break;
default:
break;
}
}
public synchronized void showFragment(BaseFragment targetFragment) {
layout_archive_file.setVisibility(View.GONE);
archive_fragment.setVisibility(View.VISIBLE);
binding.layoutArchiveFile.getRoot().setVisibility(View.GONE);
binding.archiveFragment.getRootView().setVisibility(View.VISIBLE);
if (currFragment == null) {
Logger.d(TAG, "======showFragment======2");
fragmentManager.beginTransaction()
......@@ -346,11 +319,11 @@ public class ArchiveFragment extends BaseFragment implements CustomTimer.TimerCa
public void backHomeFragment() {
if ( userDb.getUserType() == InitParam.USER_TYPE_ADMIN ) {
lay_back.setVisibility(View.VISIBLE);
binding.layBack.setVisibility(View.VISIBLE);
}
layout_archive_file.setVisibility(View.VISIBLE);
archive_fragment.setVisibility(View.GONE);
binding.layoutArchiveFile.getRoot().setVisibility(View.VISIBLE);
binding.archiveFragment.getRootView().setVisibility(View.GONE);
if ( currFragment != null ) {
fragmentManager.beginTransaction().hide(currFragment).commit();
}
......@@ -458,7 +431,7 @@ public class ArchiveFragment extends BaseFragment implements CustomTimer.TimerCa
isShowDialog = false;
mTimePopWindow.dismiss();
if ( getdata.size() > 0 ) {
btn_time_sel.setText(getdata.get(position).getTxt_cap());
binding.layoutArchiveFile.btnTimeSel.setText(getdata.get(position).getTxt_cap());
if ( position == 0 ) {
mFileListMg.curSelYear = Calendar.getInstance().get(Calendar.YEAR) + "";
} else if ( position == 1 ) {
......
......@@ -9,6 +9,7 @@ import android.os.ParcelFileDescriptor;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
......@@ -34,6 +35,7 @@ import com.sw.laryngoscope.activity.HomeActivity;
import com.sw.laryngoscope.camera.VideoManager;
import com.sw.laryngoscope.camera.VideoModule;
import com.sw.laryngoscope.common.InitParam;
import com.sw.laryngoscope.databinding.FgArchiveReportBinding;
import com.sw.laryngoscope.db.RecordInfoDB;
import com.sw.laryngoscope.manager.SpManager;
import com.sw.laryngoscope.manager.StorageStateManager;
......@@ -48,60 +50,18 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import butterknife.BindView;
import butterknife.OnClick;
public class GraphicReportFragment extends BaseFragment implements
CustomTimer.TimerCallBack, RadioGroup.OnCheckedChangeListener,
public class GraphicReportFragment extends BaseFragment<FgArchiveReportBinding>
implements CustomTimer.TimerCallBack, RadioGroup.OnCheckedChangeListener,
StorageStateManager.MountCallBack, PdfUtil.pdfCallback {
private static final String TAG = "GraphicReportFragment";
@BindView(R.id.lay_back)
LinearLayout lay_back;
@BindView(R.id.fg_archive_report_info)
View fg_archive_report_info;
@BindView(R.id.ed_name)
EditText ed_name;
@BindView(R.id.ed_age)
EditText ed_age;
@BindView(R.id.ed_patient_id)
EditText ed_patient_id;
@BindView(R.id.ed_hospital)
EditText ed_hospital;
@BindView(R.id.ed_department)
EditText ed_department;
@BindView(R.id.ed_diagnosis)
EditText ed_diagnosis;
@BindView(R.id.rg_sex)
RadioGroup rg_sex;
@BindView(R.id.rb_male)
RadioButton rb_male;
@BindView(R.id.rb_female)
RadioButton rb_female;
@BindView(R.id.txt_report_pdf)
TextView txt_report_pdf;
@BindView(R.id.lay_doctor_sign)
RelativeLayout lay_doctor_sign;
@BindView(R.id.img_doc_sign)
ImageView img_doc_sign;
@BindView(R.id.txt_image_num_value)
TextView txt_image_num_value;
@BindView(R.id.pdf_view)
PDFView pdf_view;
private CustomTimer scrollTimer;
private final String timerTAG_scroll = "scroll";
FileListMg mFileListMg;
PdfUtil mPdfUtil;
String signPath = "";
List<String> selPic = new ArrayList<>();
String createTime = "";
......@@ -111,6 +71,11 @@ public class GraphicReportFragment extends BaseFragment implements
RecordInfoDB mCurPdfDB;
@Override
protected FgArchiveReportBinding getViewBinding(LayoutInflater inflater, ViewGroup container) {
return FgArchiveReportBinding.inflate(inflater, container, false);
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
homeActivity = (HomeActivity) context;
......@@ -141,21 +106,16 @@ public class GraphicReportFragment extends BaseFragment implements
}
@Override
protected int rootLayout() {
return R.layout.fg_archive_report;
}
@Override
protected void init() {
Logger.d(" curRecordInfoPos " + mFileListMg.curRecordInfoPos);
initView();
ed_diagnosis.setHorizontallyScrolling(false);
ed_diagnosis.setMaxLines(Integer.MAX_VALUE);
binding.fgArchiveReportInfo.edDiagnosis.setHorizontallyScrolling(false);
binding.fgArchiveReportInfo.edDiagnosis.setMaxLines(Integer.MAX_VALUE);
}
public void initView() {
ed_hospital.setText(SpManager.get_value_hospital());
ed_department.setText(SpManager.get_value_department());
binding.fgArchiveReportInfo.edHospital.setText(SpManager.get_value_hospital());
binding.fgArchiveReportInfo.edDepartment.setText(SpManager.get_value_department());
selPic.clear();
for ( RecordInfoDB tmp:mFileListMg.selectList ) {
if ( tmp.getType() == InitParam.FILE_PHOTO ) {
......@@ -165,112 +125,122 @@ public class GraphicReportFragment extends BaseFragment implements
}
}
mVideoManager = homeActivity.getmVideoModule().getmVideoManager();
txt_image_num_value.setText(mFileListMg.selectList.size() + "");
img_doc_sign.setVisibility(View.GONE);
ed_name.setText("");
ed_age.setText("");
ed_patient_id.setText("");
ed_diagnosis.setText("");
rb_male.setChecked(true);
fg_archive_report_info.setVisibility(View.VISIBLE);
pdf_view.setVisibility(View.GONE);
txt_report_pdf.setVisibility(View.VISIBLE);
binding.txtImageNumValue.setText(mFileListMg.selectList.size() + "");
binding.fgArchiveReportInfo.imgDocSign.setVisibility(View.GONE);
binding.fgArchiveReportInfo.edName.setText("");
binding.fgArchiveReportInfo.edAge.setText("");
binding.fgArchiveReportInfo.edPatientId.setText("");
binding.fgArchiveReportInfo.edDiagnosis.setText("");
binding.fgArchiveReportInfo.rbMale.setChecked(true);
binding.fgArchiveReportInfo.getRoot().setVisibility(View.VISIBLE);
binding.pdfView.setVisibility(View.GONE);
binding.txtReportPdf.setVisibility(View.VISIBLE);
}
@Override
protected void setListener() {
rg_sex.setOnCheckedChangeListener(this);
binding.fgArchiveReportInfo.rgSex.setOnCheckedChangeListener(this);
binding.layBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
exitCurWin();
}
});
binding.fgArchiveReportInfo.layDoctorSign.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showSignDailog();
}
} );
binding.txtReportPdf.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
generatePdf();
}
});
}
public void exitCurWin() {
fg_archive_report_info.setVisibility(View.VISIBLE);
pdf_view.setVisibility(View.GONE);
txt_report_pdf.setVisibility(View.VISIBLE);
homeFragment.backDetailFg();
signPath = "";
}
private void generatePdf() {
final int sex = binding.fgArchiveReportInfo.rbMale.isChecked() ? 0 : 1;
SpManager.set_value_hospital(binding.fgArchiveReportInfo.edHospital.getText().toString());
SpManager.set_value_department(binding.fgArchiveReportInfo.edDepartment.getText().toString());
hideIm();
@Override
@OnClick({ R.id.lay_back, R.id.lay_doctor_sign, R.id.txt_report_pdf, })
public void onClick(View v) {
switch (v.getId()) {
case R.id.lay_back:
/*if ( pdf_view.getVisibility() == View.VISIBLE ) {
fg_archive_report_info.setVisibility(View.VISIBLE);
pdf_view.setVisibility(View.GONE);
txt_report_pdf.setVisibility(View.VISIBLE);
} else {*/
exitCurWin();
//}
break;
case R.id.lay_doctor_sign:
showSignDailog();
break;
case R.id.txt_report_pdf:
int sex = rb_male.isChecked() ? 0 : 1;//0 男 1 女
SpManager.set_value_hospital(ed_hospital.getText().toString());
SpManager.set_value_department(ed_department.getText().toString());
hideIm();
if ( !ed_name.getText().toString().isEmpty()
&& !ed_age.getText().toString().isEmpty()
&& !ed_patient_id.getText().toString().isEmpty() ) {
txt_report_pdf.setEnabled(false);
new Thread(new Runnable() {
@Override
public void run() {
try {
saveDataDb();
mPdfUtil.setParam(ed_name.getText().toString(), sex, ed_age.getText().toString(),
ed_patient_id.getText().toString(), ed_diagnosis.getText().toString(),
ed_hospital.getText().toString(), ed_department.getText().toString(),
signPath, selPic.toArray(new String[selPic.size()]), createTime);
mPdfUtil.createPDF(mCurPdfDB.getFilepath() + "/" + mCurPdfDB.getFilename());
} catch (Exception e) {
}
}
}).start();
} else {
MyApplication.showToastLong1(getActivity().getString(R.string.string_write_info));
if (!binding.fgArchiveReportInfo.edName.getText().toString().isEmpty()
&& !binding.fgArchiveReportInfo.edAge.getText().toString().isEmpty()
&& !binding.fgArchiveReportInfo.edPatientId.getText().toString().isEmpty()) {
binding.txtReportPdf.setEnabled(false);
new Thread(new Runnable() {
@Override
public void run() {
try {
saveDataDb();
mPdfUtil.setParam(
binding.fgArchiveReportInfo.edName.getText().toString(),
sex,
binding.fgArchiveReportInfo.edAge.getText().toString(),
binding.fgArchiveReportInfo.edPatientId.getText().toString(),
binding.fgArchiveReportInfo.edDiagnosis.getText().toString(),
binding.fgArchiveReportInfo.edHospital.getText().toString(),
binding.fgArchiveReportInfo.edDepartment.getText().toString(),
signPath, selPic.toArray(new String[0]), createTime
);
mPdfUtil.createPDF(mCurPdfDB.getFilepath() + "/" + mCurPdfDB.getFilename());
} catch (Exception e) {
Logger.d("PDF 生成失败: " + e.getMessage());
}
}
break;
default:
break;
}).start();
} else {
MyApplication.showToastLong1(getActivity().getString(R.string.string_write_info));
}
}
public void exitCurWin() {
binding.fgArchiveReportInfo.getRoot().setVisibility(View.VISIBLE);
binding.pdfView.setVisibility(View.GONE);
binding.txtReportPdf.setVisibility(View.VISIBLE);
homeFragment.backDetailFg();
signPath = "";
}
@Override
public void createPdfSuc(String path1) {
getActivity().runOnUiThread( () -> {
String path = mCurPdfDB.getFilepath() + "/" + mCurPdfDB.getFilename();
fg_archive_report_info.setVisibility(View.GONE);
pdf_view.setVisibility(View.VISIBLE);
pdf_view.fromFile(new File(path))
.enableSwipe(true)
//禁用双击
.enableDoubletap(false)
//.pageFitPolicy(FitPolicy.BOTH)
.load();
generateImageFromPdf(Uri.fromFile(new File(path)), mCurPdfDB.getThumbnailpath()+"/", mCurPdfDB.getThumbnailname());
txt_report_pdf.setEnabled(true);
txt_report_pdf.setVisibility(View.GONE);
mFileListMg.getDetailList(mPicDB.getListMdItemName());
} );
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
String path = mCurPdfDB.getFilepath() + "/" + mCurPdfDB.getFilename();
binding.fgArchiveReportInfo.getRoot().setVisibility(View.GONE);
binding.pdfView.setVisibility(View.VISIBLE);
binding.pdfView.fromFile(new File(path))
.enableSwipe(true)
//禁用双击
.enableDoubletap(false)
//.pageFitPolicy(FitPolicy.BOTH)
.load();
generateImageFromPdf(Uri.fromFile(new File(path)), mCurPdfDB.getThumbnailpath()+"/", mCurPdfDB.getThumbnailname());
binding.txtReportPdf.setEnabled(true);
binding.txtReportPdf.setVisibility(View.GONE);
mFileListMg.getDetailList(mPicDB.getListMdItemName());
}
}
);
}
@Override
public void createPdfFail() {
getActivity().runOnUiThread( ()-> {
fg_archive_report_info.setVisibility(View.VISIBLE);
pdf_view.setVisibility(View.GONE);
txt_report_pdf.setEnabled(true);
mCurPdfDB.delete();
Logger.d("=======createPdfFail===========");
} );
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
binding.fgArchiveReportInfo.getRoot().setVisibility(View.VISIBLE);
binding.pdfView.setVisibility(View.GONE);
binding.txtReportPdf.setEnabled(true);
mCurPdfDB.delete();
Logger.d("=======createPdfFail===========");
}
});
}
public void saveDataDb() {
......@@ -293,7 +263,7 @@ public class GraphicReportFragment extends BaseFragment implements
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
switch (rg_sex.getCheckedRadioButtonId()) {
switch (binding.fgArchiveReportInfo.rgSex.getCheckedRadioButtonId()) {
case R.id.rb_male:
Logger.d(TAG, "============rb_male");
break;
......@@ -328,7 +298,7 @@ public class GraphicReportFragment extends BaseFragment implements
AlertDialog.Builder builder = new AlertDialog.Builder(getContext(), 0);//, AlertDialog.THEME_HOLO_DARK
builder.setView(layout);
builder.setCancelable(false);
SignaturePad sign_view = layout.findViewById(R.id.sign_view);
final SignaturePad sign_view = layout.findViewById(R.id.sign_view);
layout.findViewById(R.id.img_export_close).setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
signTipdialog.dismiss();
......@@ -343,8 +313,8 @@ public class GraphicReportFragment extends BaseFragment implements
public void onClick(View v) {
File file = sign_view.getFile();
Logger.d(" getAbsolutePath " + file.getAbsolutePath());
img_doc_sign.setVisibility(View.VISIBLE);
setViewIcon(getActivity(), img_doc_sign, file.getAbsolutePath());
binding.fgArchiveReportInfo.imgDocSign.setVisibility(View.VISIBLE);
setViewIcon(getActivity(), binding.fgArchiveReportInfo.imgDocSign, file.getAbsolutePath());
//Glide.with(getActivity()).load( Uri.fromFile(file) ).into(img_doc_sign);
signPath = file.getAbsolutePath();
signTipdialog.dismiss();
......
......@@ -10,7 +10,9 @@ import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.ImageView;
......@@ -27,6 +29,7 @@ import com.sw.laryngoscope.activity.CustomTimer;
import com.sw.laryngoscope.activity.HomeActivity;
import com.sw.laryngoscope.camera.VideoManager;
import com.sw.laryngoscope.common.InitParam;
import com.sw.laryngoscope.databinding.FgArchiveVideoReportBinding;
import com.sw.laryngoscope.db.RecordInfoDB;
import com.sw.laryngoscope.imageToVideo.VideoConUtil;
import com.sw.laryngoscope.manager.SpManager;
......@@ -39,48 +42,14 @@ import com.sw.laryngoscope.utils.Thumbnail;
import java.text.SimpleDateFormat;
import java.util.Date;
import butterknife.BindView;
import butterknife.OnClick;
public class VideoReportFragment extends BaseFragment implements
public class VideoReportFragment extends BaseFragment<FgArchiveVideoReportBinding> implements
CustomTimer.TimerCallBack, RadioGroup.OnCheckedChangeListener,
StorageStateManager.MountCallBack, VideoConUtil.VideoCallback {
StorageStateManager.MountCallBack, VideoConUtil.VideoCallback,View.OnClickListener {
private static final String TAG = "GraphicReportFragment";
@BindView(R.id.lay_back)
LinearLayout lay_back;
@BindView(R.id.fg_archive_report_info)
View fg_archive_report_info;
@BindView(R.id.ed_name)
EditText ed_name;
@BindView(R.id.ed_age)
EditText ed_age;
@BindView(R.id.ed_patient_id)
EditText ed_patient_id;
@BindView(R.id.ed_hospital)
EditText ed_hospital;
@BindView(R.id.ed_department)
EditText ed_department;
@BindView(R.id.ed_diagnosis)
EditText ed_diagnosis;
@BindView(R.id.lay_doctor_sign)
RelativeLayout lay_doctor_sign;
@BindView(R.id.rg_sex)
RadioGroup rg_sex;
@BindView(R.id.rb_male)
RadioButton rb_male;
@BindView(R.id.rb_female)
RadioButton rb_female;
@BindView(R.id.txt_report_video)
TextView txt_report_video;
@BindView(R.id.txt_video_num_value)
TextView txt_video_num_value;
private CustomTimer scrollTimer;
private final String timerTAG_scroll = "scroll";
......@@ -105,7 +74,7 @@ public class VideoReportFragment extends BaseFragment implements
mVideoConUtil = new VideoConUtil();
mVideoConUtil.setVideoCallback(this);
mVideoMakePopWindow = new VideoMakePopWindow(homeActivity, homeActivity);
lay_doctor_sign.setVisibility(View.GONE);
binding.fgArchiveReportInfo.layDoctorSign.getRootView().setVisibility(View.GONE);
}
public void setMountCallBack() {
......@@ -124,60 +93,62 @@ public class VideoReportFragment extends BaseFragment implements
}
@Override
protected int rootLayout() {
return R.layout.fg_archive_video_report;
protected FgArchiveVideoReportBinding getViewBinding(LayoutInflater inflater, ViewGroup container) {
return FgArchiveVideoReportBinding.inflate(inflater,container,false);
}
@Override
protected void init() {
Logger.d(" curRecordInfoPos " + mFileListMg.curRecordInfoPos);
initView();
ed_diagnosis.setHorizontallyScrolling(false);
ed_diagnosis.setMaxLines(Integer.MAX_VALUE);
binding.fgArchiveReportInfo.edDiagnosis.setHorizontallyScrolling(false);
binding.fgArchiveReportInfo.edDiagnosis.setMaxLines(Integer.MAX_VALUE);
}
public void initView() {
ed_hospital.setText(SpManager.get_value_hospital());
ed_department.setText(SpManager.get_value_department());
binding.fgArchiveReportInfo.edHospital.setText(SpManager.get_value_hospital());
binding.fgArchiveReportInfo.edDepartment.setText(SpManager.get_value_department());
for ( RecordInfoDB tmp:mFileListMg.selectList ) {
if ( tmp.getType() == InitParam.FILE_VIDEO ) {
mVideoDB = tmp;
}
}
mVideoManager = homeActivity.getmVideoModule().getmVideoManager();
txt_video_num_value.setText(mFileListMg.selectList.size() + "");
binding.txtVideoNumValue.setText(mFileListMg.selectList.size() + "");
ed_name.setText("");
ed_age.setText("");
rb_male.setChecked(true);
ed_patient_id.setText("");
ed_diagnosis.setText("");
binding.fgArchiveReportInfo.edName.setText("");
binding.fgArchiveReportInfo.edAge.setText("");
binding.fgArchiveReportInfo.rbMale.setChecked(true);
binding.fgArchiveReportInfo.edPatientId.setText("");
binding.fgArchiveReportInfo.edDiagnosis.setText("");
}
@Override
protected void setListener() {
rg_sex.setOnCheckedChangeListener(this);
binding.fgArchiveReportInfo.rgSex.setOnCheckedChangeListener(this);
binding.layBack.setOnClickListener(this);
binding.txtReportVideo.setOnClickListener(this);
}
@Override
@OnClick({ R.id.lay_back, R.id.txt_report_video, })
public void onClick(View v) {
switch (v.getId()) {
case R.id.lay_back:
homeFragment.backDetailFg();
break;
case R.id.txt_report_video:
int sex = rb_male.isChecked() ? 0 : 1;//0 男 1 女
SpManager.set_value_hospital(ed_hospital.getText().toString());
SpManager.set_value_department(ed_department.getText().toString());
final int sex = binding.fgArchiveReportInfo.rbMale.isChecked() ? 0 : 1;//0 男 1 女
SpManager.set_value_hospital(binding.fgArchiveReportInfo.edHospital.getText().toString());
SpManager.set_value_department(binding.fgArchiveReportInfo.edDepartment.getText().toString());
hideIm();
if ( !ed_name.getText().toString().isEmpty()
&& !ed_age.getText().toString().isEmpty()
&& !ed_patient_id.getText().toString().isEmpty() ) {
mVideoMakePopWindow.showAtLocation(rootView, Gravity.CENTER, 0, 0);
if ( !binding.fgArchiveReportInfo.edName.getText().toString().isEmpty()
&& !binding.fgArchiveReportInfo.edAge.getText().toString().isEmpty()
&& !binding.fgArchiveReportInfo.edPatientId.getText().toString().isEmpty() ) {
mVideoMakePopWindow.showAtLocation(getRootView(), Gravity.CENTER, 0, 0);
txt_report_video.setEnabled(false);
binding.txtReportVideo.setEnabled(false);
new Thread(new Runnable() {
@Override
public void run() {
......@@ -191,9 +162,9 @@ public class VideoReportFragment extends BaseFragment implements
Logger.d("=======onVideoFail========2===" + width + height);
pngbitmap = drawText2Bitmap(homeActivity,
ed_name.getText().toString(), sex, ed_age.getText().toString(),
ed_patient_id.getText().toString(), ed_diagnosis.getText().toString(),
ed_hospital.getText().toString(), ed_department.getText().toString(),
binding.fgArchiveReportInfo.edName.getText().toString(), sex, binding.fgArchiveReportInfo.edAge.getText().toString(),
binding.fgArchiveReportInfo.edPatientId.getText().toString(), binding.fgArchiveReportInfo.edDiagnosis.getText().toString(),
binding.fgArchiveReportInfo.edHospital.getText().toString(), binding.fgArchiveReportInfo.edDepartment.getText().toString(),
width, height);
//pngbitmap = mVideoConUtil.saveViewBitmap(fg_archive_report_info, 1280, 720);
mVideoConUtil.createVideo(
......@@ -216,41 +187,50 @@ public class VideoReportFragment extends BaseFragment implements
@Override
public void onVideoSuc(String path1) {
getActivity().runOnUiThread( () -> {
mVideoConUtil.saveImage(pngbitmap, mCurReportDB.getThumbnailpath(), mCurReportDB.getThumbnailname());
long time = Thumbnail.getVideoDur(
mCurReportDB.getFilepath() + "/" + mCurReportDB.getFilename());
Logger.d("=======onVideoSuc=========time==" + time);
mCurReportDB.setDuration(time);
mCurReportDB.saveOrUpdate("title = ?", mCurReportDB.getTitle());
mVideoMakePopWindow.dismiss();
homeFragment.backDetailFg();
txt_report_video.setEnabled(true);
txt_report_video.setVisibility(View.VISIBLE);
mFileListMg.getDetailList(mVideoDB.getListMdItemName());
} );
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
mVideoConUtil.saveImage(pngbitmap, mCurReportDB.getThumbnailpath(), mCurReportDB.getThumbnailname());
long time = Thumbnail.getVideoDur(
mCurReportDB.getFilepath() + "/" + mCurReportDB.getFilename());
Logger.d("=======onVideoSuc=========time==" + time);
mCurReportDB.setDuration(time);
mCurReportDB.saveOrUpdate("title = ?", mCurReportDB.getTitle());
mVideoMakePopWindow.dismiss();
homeFragment.backDetailFg();
binding.txtReportVideo.setEnabled(true);
binding.txtReportVideo.setVisibility(View.VISIBLE);
mFileListMg.getDetailList(mVideoDB.getListMdItemName());
}
});
}
@Override
public void onVideoFail() {
getActivity().runOnUiThread( ()-> {
mVideoMakePopWindow.dismiss();
txt_report_video.setEnabled(true);
txt_report_video.setVisibility(View.VISIBLE);
mCurReportDB.delete();
Logger.d("=======onVideoFail===========");
} );
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
mVideoMakePopWindow.dismiss();
binding.txtReportVideo.setEnabled(true);
binding.txtReportVideo.setVisibility(View.VISIBLE);
mCurReportDB.delete();
Logger.d("=======onVideoFail===========");
}
});
}
@Override
public void onVideoProgress(int pro) {
getActivity().runOnUiThread( ()-> {
mVideoMakePopWindow.setSb_con(pro);
Logger.d("=======onVideoProgress===========");
} );
public void onVideoProgress(final int pro) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
mVideoMakePopWindow.setSb_con(pro);
Logger.d("=======onVideoProgress===========");
}
});
}
public void saveDataDb() {
......@@ -273,7 +253,7 @@ public class VideoReportFragment extends BaseFragment implements
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
switch (rg_sex.getCheckedRadioButtonId()) {
switch (binding.fgArchiveReportInfo.rgSex.getCheckedRadioButtonId()) {
case R.id.rb_male:
Logger.d(TAG, "============rb_male");
break;
......
......@@ -3,7 +3,9 @@ package com.sw.laryngoscope.activity.fragment.setting;
import android.content.Context;
import android.content.Intent;
import android.os.Environment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.RadioButton;
......@@ -17,6 +19,7 @@ import com.sw.laryngoscope.activity.BaseFragment;
import com.sw.laryngoscope.activity.CustomTimer;
import com.sw.laryngoscope.activity.HomeActivity;
import com.sw.laryngoscope.adapter.DeviceInfoItemAdapter;
import com.sw.laryngoscope.databinding.FgSettingAbBinding;
import com.sw.laryngoscope.db.DeviceInfoBean;
import com.sw.laryngoscope.manager.AccountManager;
import com.sw.laryngoscope.manager.OtaUpgradeUtils;
......@@ -31,56 +34,15 @@ import java.io.File;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.OnClick;
import static java.lang.Long.getLong;
public class AboutFragment extends BaseFragment implements CustomTimer.TimerCallBack,
RadioGroup.OnCheckedChangeListener, StorageStateManager.MountCallBack {
public class AboutFragment extends BaseFragment<FgSettingAbBinding> implements CustomTimer.TimerCallBack,
RadioGroup.OnCheckedChangeListener, StorageStateManager.MountCallBack,View.OnClickListener {
private static final String TAG = "AboutFragment";
private Context context;
@BindView(R.id.lay_back)
LinearLayout lay_back;
@BindView(R.id.rg_setting_about)
RadioGroup rg_setting_about;
@BindView(R.id.rb_device_info)
public RadioButton rb_device_info;
@BindView(R.id.rb_sys_upgrade)
public RadioButton rb_sys_upgrade;
@BindView(R.id.rb_export_file)
public RadioButton rb_export_file;
@BindView(R.id.layout_fragment_about_devinfo)
public View layout_fragment_about_devinfo;
@BindView(R.id.txt_refresh_info)
public TextView txt_refresh_info;
@BindView(R.id.listView_deviceinfo)
public ListView listView_deviceinfo;
@BindView(R.id.txt_export_soft_lic)
public TextView txt_export_soft_lic;
@BindView(R.id.layout_fg_ab_system_upgrade)
public View layout_fg_ab_system_upgrade;
@BindView(R.id.txt_software_version)
public TextView txt_software_version;
@BindView(R.id.txt_build_time)
public TextView txt_build_time;
@BindView(R.id.layout_fg_ab_export_files)
public View layout_fg_ab_export_files;
@BindView(R.id.txt_usb_tip)
public TextView txt_usb_tip;
@BindView(R.id.txt_export_log_tip)
public TextView txt_export_log_tip;
@BindView(R.id.txt_log_export)
public TextView txt_log_export;
private CustomTimer scrollTimer;
private final String timerTAG_scroll = "scroll";
......@@ -104,19 +66,19 @@ public class AboutFragment extends BaseFragment implements CustomTimer.TimerCall
/*txt_usb_tip.setText(R.string.string_about_export_no_usb);
txt_export_log_tip.setText(R.string.string_about_export_not_avail);*/
if ( !Storage.isCheckExist(StorageStateManager.getInstance().getUdiskPath()) ) {
txt_log_export.setEnabled(false);
txt_usb_tip.setText(R.string.string_about_export_no_usb);
txt_export_log_tip.setVisibility(View.VISIBLE);
binding.layoutFgAbExportFiles.txtLogExport.setEnabled(false);
binding.layoutFgAbExportFiles.txtUsbTip.setText(R.string.string_about_export_no_usb);
binding.layoutFgAbExportFiles.txtExportLogTip.setVisibility(View.VISIBLE);
} else if ( Storage.isCheckExist(StorageStateManager.getInstance().getUdiskPath())
&& SpManager.get_usb_input_enabled() ) {
txt_log_export.setEnabled(true);
txt_usb_tip.setText(Storage.getUName(getContext()));
txt_export_log_tip.setVisibility(View.GONE);
binding.layoutFgAbExportFiles.txtLogExport.setEnabled(true);
binding.layoutFgAbExportFiles.txtUsbTip.setText(Storage.getUName(getContext()));
binding.layoutFgAbExportFiles.txtExportLogTip.setVisibility(View.GONE);
}
if (AccountManager.getInstance().isUserDbOrNoLogin()) {
rb_sys_upgrade.setVisibility(View.GONE);
binding.rbSysUpgrade.setVisibility(View.GONE);
} else {
rb_sys_upgrade.setVisibility(View.VISIBLE);
binding.rbSysUpgrade.setVisibility(View.VISIBLE);
}
}
......@@ -138,25 +100,25 @@ public class AboutFragment extends BaseFragment implements CustomTimer.TimerCall
Logger.d(" -=- " + StorageStateManager.getInstance().getUdiskPath());
if ( !Storage.isCheckExist(StorageStateManager.getInstance().getUdiskPath()) ) {
txt_log_export.setEnabled(false);
txt_usb_tip.setText(R.string.string_about_export_no_usb);
txt_export_log_tip.setVisibility(View.VISIBLE);
binding.layoutFgAbExportFiles.txtLogExport.setEnabled(false);
binding.layoutFgAbExportFiles.txtUsbTip.setText(R.string.string_about_export_no_usb);
binding.layoutFgAbExportFiles.txtExportLogTip.setVisibility(View.VISIBLE);
} else if ( Storage.isCheckExist(StorageStateManager.getInstance().getUdiskPath())
&& SpManager.get_usb_input_enabled() ) {
txt_log_export.setEnabled(true);
txt_usb_tip.setText(Storage.getUName(getContext()));
txt_export_log_tip.setVisibility(View.GONE);
binding.layoutFgAbExportFiles.txtLogExport.setEnabled(true);
binding.layoutFgAbExportFiles.txtUsbTip.setText(Storage.getUName(getContext()));
binding.layoutFgAbExportFiles.txtExportLogTip.setVisibility(View.GONE);
}
if (AccountManager.getInstance().isUserDbOrNoLogin()) {
rb_sys_upgrade.setVisibility(View.GONE);
binding.rbSysUpgrade.setVisibility(View.GONE);
} else {
rb_sys_upgrade.setVisibility(View.VISIBLE);
binding.rbSysUpgrade.setVisibility(View.VISIBLE);
}
}
@Override
protected int rootLayout() {
return R.layout.fg_setting_ab;
protected FgSettingAbBinding getViewBinding(LayoutInflater inflater, ViewGroup container) {
return FgSettingAbBinding.inflate(inflater,container,false);
}
@Override
......@@ -164,25 +126,28 @@ public class AboutFragment extends BaseFragment implements CustomTimer.TimerCall
//layout_home_home_guest = (ConstraintLayout) rootView.findViewById(R.id.layout_home_home_guest);
initDeviceInfoList();
mDeviceInfoItemAdapter = new DeviceInfoItemAdapter(getContext(), listInfoBean);
listView_deviceinfo.setAdapter(mDeviceInfoItemAdapter);
binding.layoutFragmentAboutDevinfo.listViewDeviceinfo.setAdapter(mDeviceInfoItemAdapter);
//
Logger.d("" + android.os.Build.TIME + " " + getLong("ro.build.date.utc"));
txt_software_version.setText("v" + VersionManager.getSdkVersion());
txt_build_time.setText( DateUtils.getTimeOfMMM(android.os.Build.TIME) );
binding.layoutFgAbSystemUpgrade.txtSoftwareVersion.setText("v" + VersionManager.getSdkVersion());
binding.layoutFgAbSystemUpgrade.txtBuildTime.setText( DateUtils.getTimeOfMMM(android.os.Build.TIME) );
}
@Override
protected void setListener() {
rg_setting_about.setOnCheckedChangeListener(this);
binding.rgSettingAbout.setOnCheckedChangeListener(this);
binding.layBack.setOnClickListener(this);
binding.layoutFragmentAboutDevinfo.txtRefreshInfo.setOnClickListener(this);
binding.layoutFragmentAboutDevinfo.txtExportSoftLic.setOnClickListener(this);
binding.layoutFgAbSystemUpgrade.txtSystemUpgrade.setOnClickListener(this);
binding.layoutFgAbSystemUpgrade.txtApkUpgrade.setOnClickListener(this);
binding.layoutFgAbExportFiles.txtLogExport.setOnClickListener(this);
}
@Override
@OnClick({ R.id.lay_back, R.id.txt_refresh_info, R.id.txt_export_soft_lic,
R.id.txt_system_upgrade, R.id.txt_apk_upgrade,
R.id.txt_log_export, })
public void onClick(View v) {
switch (v.getId()) {
case R.id.lay_back:
......@@ -196,7 +161,7 @@ public class AboutFragment extends BaseFragment implements CustomTimer.TimerCall
break;
case R.id.txt_system_upgrade:
String path = StorageStateManager.getInstance().getUdiskPath() + OtaUpgradeUtils.DEFAULT_PACKAGE_NAME;
final String path = StorageStateManager.getInstance().getUdiskPath() + OtaUpgradeUtils.DEFAULT_PACKAGE_NAME;
if ( !Storage.isCheckExist(path) || !SpManager.get_usb_input_enabled() ) {
Toast.makeText(getActivity(),
getString(R.string.string_about_export_no_file), Toast.LENGTH_SHORT).show();
......@@ -283,24 +248,24 @@ public class AboutFragment extends BaseFragment implements CustomTimer.TimerCall
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
switch (rg_setting_about.getCheckedRadioButtonId()) {
switch (binding.rgSettingAbout.getCheckedRadioButtonId()) {
case R.id.rb_device_info:
Logger.d(TAG, "======showFragment======rb_device_info");
layout_fragment_about_devinfo.setVisibility(View.VISIBLE);
layout_fg_ab_system_upgrade.setVisibility(View.GONE);
layout_fg_ab_export_files.setVisibility(View.GONE);
binding.layoutFragmentAboutDevinfo.getRoot().setVisibility(View.VISIBLE);
binding.layoutFgAbSystemUpgrade.getRoot().setVisibility(View.GONE);
binding.layoutFgAbExportFiles.getRoot().setVisibility(View.GONE);
break;
case R.id.rb_sys_upgrade:
Logger.d(TAG, "======showFragment======rb_sys_upgrade");
layout_fragment_about_devinfo.setVisibility(View.GONE);
layout_fg_ab_system_upgrade.setVisibility(View.VISIBLE);
layout_fg_ab_export_files.setVisibility(View.GONE);
binding.layoutFragmentAboutDevinfo.getRoot().setVisibility(View.GONE);
binding.layoutFgAbSystemUpgrade.getRoot().setVisibility(View.VISIBLE);
binding.layoutFgAbExportFiles.getRoot().setVisibility(View.GONE);
break;
case R.id.rb_export_file:
Logger.d(TAG, "======showFragment======rb_export_file");
layout_fragment_about_devinfo.setVisibility(View.GONE);
layout_fg_ab_system_upgrade.setVisibility(View.GONE);
layout_fg_ab_export_files.setVisibility(View.VISIBLE);
binding.layoutFragmentAboutDevinfo.getRoot().setVisibility(View.GONE);
binding.layoutFgAbSystemUpgrade.getRoot().setVisibility(View.GONE);
binding.layoutFgAbExportFiles.getRoot().setVisibility(View.VISIBLE);
break;
default:
break;
......
......@@ -8,7 +8,9 @@ import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.RelativeLayout;
import android.widget.ScrollView;
......@@ -21,6 +23,7 @@ import com.sw.laryngoscope.R;
import com.sw.laryngoscope.activity.BaseFragment;
import com.sw.laryngoscope.activity.CustomTimer;
import com.sw.laryngoscope.activity.HomeActivity;
import com.sw.laryngoscope.databinding.FgSettingDevinfoBinding;
import com.sw.laryngoscope.manager.CameraInfoMg;
import com.sw.laryngoscope.manager.OtaUpgradeUtils;
import com.sw.laryngoscope.manager.SpManager;
......@@ -32,11 +35,9 @@ import com.sw.laryngoscope.utils.Logger;
import java.io.File;
import butterknife.BindView;
import butterknife.OnClick;
public class DevInfoFragment extends BaseFragment implements
CustomTimer.TimerCallBack, StorageStateManager.MountCallBack, CameraInfoMg.CameraInfoback {
public class DevInfoFragment extends BaseFragment<FgSettingDevinfoBinding> implements
CustomTimer.TimerCallBack, StorageStateManager.MountCallBack, CameraInfoMg.CameraInfoback,View.OnClickListener {
private static final String TAG = "DevInfoFragment";
private Context context;
......@@ -44,42 +45,6 @@ public class DevInfoFragment extends BaseFragment implements
private CustomTimer scrollTimer;
private final String timerTAG_scroll = "scroll";
@BindView(R.id.scrollView)
ScrollView scrollView;
@BindView(R.id.txt_ver)
TextView txt_ver;
@BindView(R.id.txt_production_date)
TextView txt_production_date;
@BindView(R.id.txt_screen)
TextView txt_screen;
@BindView(R.id.txt_storage_size)
TextView txt_storage_size;
@BindView(R.id.view_2)
TextView view_2;
@BindView(R.id.lay_1)
RelativeLayout lay_1;
@BindView(R.id.txt_len_model)
TextView txt_len_model;
@BindView(R.id.txt_len_sn)
TextView txt_len_sn;
@BindView(R.id.txt_inner_outer_diameter)
TextView txt_inner_outer_diameter;
@BindView(R.id.txt_use_times)
TextView txt_use_times;
@BindView(R.id.txt_total_usage_time)
TextView txt_total_usage_time;
@BindView(R.id.txt_version_number)
TextView txt_version_number;
@BindView(R.id.txt_sys_update)
TextView txt_sys_update;
@BindView(R.id.txt_app_update)
TextView txt_app_update;
@BindView(R.id.sb_update)
SeekBar sb_update;
int mProgress = 0;
@Override
......@@ -101,72 +66,72 @@ public class DevInfoFragment extends BaseFragment implements
if (!hidden) {
/*homeActivity.changeViewPage();
homeActivity.headIconStateChange(0);*/
txt_app_update.setEnabled(false);
txt_sys_update.setEnabled(false);
binding.txtAppUpdate.setEnabled(false);
binding.txtSysUpdate.setEnabled(false);
initValue();
StorageStateManager.getInstance().setMountCallBackFun(this);
CameraInfoMg.getInstance(null).setCameraInfoCb(this);
} else {
mHandler.removeMessages(MSG_COPY_LOG);
//StorageStateManager.getInstance().setMountCallBackFun(null);
sb_update.setVisibility(View.GONE);
binding.sbUpdate.setVisibility(View.GONE);
}
Logger.d(TAG, "======showFragment======2 " + hidden);
}
@Override
protected int rootLayout() {
return R.layout.fg_setting_devinfo;
protected FgSettingDevinfoBinding getViewBinding(LayoutInflater inflater, ViewGroup container) {
return FgSettingDevinfoBinding.inflate(inflater,container,false);
}
@Override
protected void init() {
//layout_home_home_guest = (ConstraintLayout) rootView.findViewById(R.id.layout_home_home_guest);
txt_app_update.setEnabled(false);
txt_sys_update.setEnabled(false);
sb_update.setVisibility(View.GONE);
binding.txtAppUpdate.setEnabled(false);
binding.txtSysUpdate.setEnabled(false);
binding.sbUpdate.setVisibility(View.GONE);
initValue();
//禁用状态
sb_update.setClickable(false);
sb_update.setEnabled(false);
sb_update.setFocusable(false);
binding.sbUpdate.setClickable(false);
binding.sbUpdate.setEnabled(false);
binding.sbUpdate.setFocusable(false);
}
void setCameraInfo() {
if ( CameraInfoMg.getInstance(null).data_mirror_model.isEmpty() ) {
view_2.setVisibility(View.GONE);
lay_1.setVisibility(View.GONE);
binding.view2.setVisibility(View.GONE);
binding.lay1.setVisibility(View.GONE);
} else {
view_2.setVisibility(View.VISIBLE);
lay_1.setVisibility(View.VISIBLE);
binding.view2.setVisibility(View.VISIBLE);
binding.lay1.setVisibility(View.VISIBLE);
}
txt_len_model.setText(CameraInfoMg.getInstance(null).data_mirror_model);
txt_len_sn.setText(CameraInfoMg.getInstance(null).data_serial_number);
txt_inner_outer_diameter.setText(CameraInfoMg.getInstance(null).data_internal_diameter + "/" + CameraInfoMg.getInstance(null).data_external_diameter);
txt_use_times.setText(CameraInfoMg.getInstance(null).data_number_insertions);
txt_total_usage_time.setText(CameraInfoMg.getInstance(null).data_usage_time);
txt_version_number.setText("V1.0.0");
binding.txtLenModel.setText(CameraInfoMg.getInstance(null).data_mirror_model);
binding.txtLenSn.setText(CameraInfoMg.getInstance(null).data_serial_number);
binding.txtInnerOuterDiameter.setText(CameraInfoMg.getInstance(null).data_internal_diameter + "/" + CameraInfoMg.getInstance(null).data_external_diameter);
binding.txtUseTimes.setText(CameraInfoMg.getInstance(null).data_number_insertions);
binding.txtTotalUsageTime.setText(CameraInfoMg.getInstance(null).data_usage_time);
binding.txtVersionNumber.setText("V1.0.0");
}
public void initValue() {
txt_ver.setText(VersionManager.getAppVersionName(getContext()));
txt_production_date.setText(DateUtils.getTimeOfMMM(BuildConfig.BUILD_TIMESTAMP));
txt_storage_size.setText(getDataSize() + " MB");
txt_use_times.setText("");
txt_total_usage_time.setText("");
binding.txtVer.setText(VersionManager.getAppVersionName(getContext()));
binding.txtProductionDate.setText(DateUtils.getTimeOfMMM(BuildConfig.BUILD_TIMESTAMP));
binding.txtStorageSize.setText(getDataSize() + " MB");
binding.txtUseTimes.setText("");
binding.txtTotalUsageTime.setText("");
if ( !Storage.isCheckExist(StorageStateManager.getInstance().getUdiskPath()) ) {
} else if ( Storage.isCheckExist(StorageStateManager.getInstance().getUdiskPath() + "Laryngoscope.apk")
/*&& SpManager.get_usb_input_enabled()*/ ) {
txt_app_update.setEnabled(true);
binding.txtAppUpdate.setEnabled(true);
}
if ( Storage.isCheckExist(StorageStateManager.getInstance().getUdiskPath() + OtaUpgradeUtils.DEFAULT_PACKAGE_NAME)
/*&& SpManager.get_usb_input_enabled()*/ ) {
txt_sys_update.setEnabled(true);
binding.txtSysUpdate.setEnabled(true);
}
sb_update.setProgress(0);
sb_update.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
binding.sbUpdate.setProgress(0);
binding.sbUpdate.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (!fromUser) {
......@@ -190,19 +155,20 @@ public class DevInfoFragment extends BaseFragment implements
int width = point.x;
//屏幕实际高度(像素个数)
int height = point.y;
txt_screen.setText(width + "x" + height);
binding.txtScreen.setText(width + "x" + height);
}
@Override
protected void setListener() {
binding.txtAppUpdate.setOnClickListener(this);
binding.txtSysUpdate.setOnClickListener(this);
}
@Override
@OnClick({ R.id.txt_app_update, R.id.txt_sys_update, })
public void onClick(View v) {
switch (v.getId()) {
case R.id.txt_sys_update:
String path = StorageStateManager.getInstance().getUdiskPath() + OtaUpgradeUtils.DEFAULT_PACKAGE_NAME;
final String path = StorageStateManager.getInstance().getUdiskPath() + OtaUpgradeUtils.DEFAULT_PACKAGE_NAME;
if ( !Storage.isCheckExist(path) || !SpManager.get_usb_input_enabled() ) {
Toast.makeText(getActivity(),
getString(R.string.string_about_export_no_file), Toast.LENGTH_SHORT).show();
......@@ -236,15 +202,20 @@ public class DevInfoFragment extends BaseFragment implements
}
Logger.d(" txt_apk_upgrade " + VersionManager.getAppVersionCode(getContext()));
Logger.d(" txt_apk_upgrade " + VersionManager.getAppVersionCode(getContext(), path1));
txt_app_update.setEnabled(false);
sb_update.setProgress(0);
sb_update.setVisibility(View.VISIBLE);
binding.txtAppUpdate.setEnabled(false);
binding.sbUpdate.setProgress(0);
binding.sbUpdate.setVisibility(View.VISIBLE);
mHandler.sendEmptyMessageDelayed(MSG_COPY_LOG, 1000);
/*if ( VersionManager.getAppVersionCode(getContext()) <=
VersionManager.getAppVersionCode(getContext(), path1) ) {
VersionManager.installApk(getContext(), path1);
}*/
sb_update.postDelayed( () -> {scrollView.fullScroll(ScrollView.FOCUS_DOWN);}, 100 );
binding.sbUpdate.postDelayed(new Runnable() {
@Override
public void run() {
binding.scrollView.fullScroll(ScrollView.FOCUS_DOWN);
}
}, 100);
//scrollView.smoothScrollTo(0, sb_update.getMeasuredHeight());
break;
default:
......@@ -273,15 +244,15 @@ public class DevInfoFragment extends BaseFragment implements
public void MountEventProc(boolean mount) {
if ( mount /*&& SpManager.get_usb_input_enabled()*/ ) {
if ( Storage.isCheckExist(StorageStateManager.getInstance().getUdiskPath() + "Laryngoscope.apk") ) {
txt_app_update.setEnabled(true);
binding.txtAppUpdate.setEnabled(true);
}
if ( Storage.isCheckExist(StorageStateManager.getInstance().getUdiskPath() + OtaUpgradeUtils.DEFAULT_PACKAGE_NAME) ) {
txt_sys_update.setEnabled(true);
binding.txtSysUpdate.setEnabled(true);
}
} else {
txt_app_update.setEnabled(false);
txt_sys_update.setEnabled(false);
sb_update.setVisibility(View.GONE);
binding.txtAppUpdate.setEnabled(false);
binding.txtSysUpdate.setEnabled(false);
binding.sbUpdate.setVisibility(View.GONE);
mHandler.removeMessages(MSG_COPY_LOG);
}
}
......@@ -290,52 +261,61 @@ public class DevInfoFragment extends BaseFragment implements
private static final int MSG_COPY_LOG = 10000001;
@Override
public void setCamInfo(String data_internal_diameter, String data_external_diameter,
String data_number_insertions, String data_usage_time,
String data_serial_number, String data_mirror_model) {
homeActivity.runOnUiThread( () -> {
Log.d(TAG,"setCamInfo : ");
txt_len_model.setText(data_mirror_model);
txt_len_sn.setText(data_serial_number);
txt_inner_outer_diameter.setText(data_internal_diameter + "/" + data_external_diameter);
txt_use_times.setText(data_number_insertions);
txt_total_usage_time.setText(data_usage_time);
txt_version_number.setText("V1.0.0");
if ( CameraInfoMg.getInstance(null).data_mirror_model.isEmpty() ) {
view_2.setVisibility(View.GONE);
lay_1.setVisibility(View.GONE);
} else {
view_2.setVisibility(View.VISIBLE);
lay_1.setVisibility(View.VISIBLE);
public void setCamInfo(final String data_internal_diameter, final String data_external_diameter,
final String data_number_insertions, final String data_usage_time,
final String data_serial_number, final String data_mirror_model) {
homeActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
Log.d(TAG,"setCamInfo : ");
binding.txtLenModel.setText(data_mirror_model);
binding.txtLenSn.setText(data_serial_number);
binding.txtInnerOuterDiameter.setText(data_internal_diameter + "/" + data_external_diameter);
binding.txtUseTimes.setText(data_number_insertions);
binding.txtTotalUsageTime.setText(data_usage_time);
binding.txtVersionNumber.setText("V1.0.0");
if ( CameraInfoMg.getInstance(null).data_mirror_model.isEmpty() ) {
binding.view2.setVisibility(View.GONE);
binding.lay1.setVisibility(View.GONE);
} else {
binding.view2.setVisibility(View.VISIBLE);
binding.lay1.setVisibility(View.VISIBLE);
}
}
} );
});
}
@Override
public void resetCamInfo() {
homeActivity.runOnUiThread( () -> {
Log.d(TAG,"setCamInfo : ");
txt_len_model.setText("");
txt_len_sn.setText("");
txt_inner_outer_diameter.setText("");
txt_use_times.setText("");
txt_total_usage_time.setText("");
txt_version_number.setText("");
if ( CameraInfoMg.getInstance(null).data_mirror_model.isEmpty() ) {
view_2.setVisibility(View.GONE);
lay_1.setVisibility(View.GONE);
} else {
view_2.setVisibility(View.VISIBLE);
lay_1.setVisibility(View.VISIBLE);
homeActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
Log.d(TAG,"setCamInfo : ");
binding.txtLenModel.setText("");
binding.txtLenSn.setText("");
binding.txtInnerOuterDiameter.setText("");
binding.txtUseTimes.setText("");
binding.txtTotalUsageTime.setText("");
binding.txtVersionNumber.setText("");
if ( CameraInfoMg.getInstance(null).data_mirror_model.isEmpty() ) {
binding.view2.setVisibility(View.GONE);
binding.lay1.setVisibility(View.GONE);
} else {
binding.view2.setVisibility(View.VISIBLE);
binding.lay1.setVisibility(View.VISIBLE);
}
}
} );
});
}
@Override
public void setCamTime(String data_usage_time) {
homeActivity.runOnUiThread( () -> {
txt_total_usage_time.setText(data_usage_time);
} );
public void setCamTime(final String data_usage_time) {
homeActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
binding.txtTotalUsageTime.setText(data_usage_time);
}
});
}
private class CpHandler extends Handler {
......@@ -344,17 +324,17 @@ public class DevInfoFragment extends BaseFragment implements
switch (msg.what) {
case MSG_COPY_LOG:
Log.d(TAG, "==.copyToUsb()1============");
int num = sb_update.getProgress();
int max = sb_update.getMax();
int num = binding.sbUpdate.getProgress();
int max = binding.sbUpdate.getMax();
if ( num < max ) {
num += 1;
} else {
mProgress = 0;
//ptv_open_persentage.setProgress(0, 0 + "%");
sb_update.setProgress(0);
sb_update.setVisibility(View.GONE);
binding.sbUpdate.setProgress(0);
binding.sbUpdate.setVisibility(View.GONE);
mHandler.removeMessages(MSG_COPY_LOG);
txt_app_update.setEnabled(true);
binding.txtAppUpdate.setEnabled(true);
String path1 = StorageStateManager.getInstance().getUdiskPath() + "Laryngoscope.apk";
if ( VersionManager.getAppVersionCode(getContext()) <=
......@@ -364,7 +344,7 @@ public class DevInfoFragment extends BaseFragment implements
break;
}
sb_update.setProgress(num);
binding.sbUpdate.setProgress(num);
mHandler.sendEmptyMessageDelayed(MSG_COPY_LOG, 100);
break;
default:
......
......@@ -6,7 +6,9 @@ import android.provider.Settings;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
......@@ -20,53 +22,17 @@ import com.sw.laryngoscope.R;
import com.sw.laryngoscope.activity.BaseFragment;
import com.sw.laryngoscope.activity.CustomTimer;
import com.sw.laryngoscope.activity.HomeActivity;
import com.sw.laryngoscope.databinding.FgSettingDicomBinding;
import com.sw.laryngoscope.manager.SpManager;
import com.sw.laryngoscope.utils.Logger;
import butterknife.BindView;
import butterknife.OnClick;
public class DicomFragment extends BaseFragment implements CustomTimer.TimerCallBack,
RadioGroup.OnCheckedChangeListener {
public class DicomFragment extends BaseFragment<FgSettingDicomBinding> implements CustomTimer.TimerCallBack,
RadioGroup.OnCheckedChangeListener,View.OnClickListener {
private static final String TAG = "DicomFragment";
private Context context;
@BindView(R.id.lay_show_dicom)
RelativeLayout lay_show_dicom;
@BindView(R.id.ed_ae_name)
EditText ed_ae_name;
@BindView(R.id.rg_sn)
RadioGroup rg_sn;
@BindView(R.id.rb_use_sn)
RadioButton rb_use_sn;
@BindView(R.id.rb_define_name)
RadioButton rb_define_name;
@BindView(R.id.ed_station_name)
EditText ed_station_name;
@BindView(R.id.txt_show_dicom)
TextView txt_show_dicom;
@BindView(R.id.txt_new_create)
TextView txt_new_create;
@BindView(R.id.lay_set_dicom)
RelativeLayout lay_set_dicom;
@BindView(R.id.ed_pacs_name)
EditText ed_pacs_name;
@BindView(R.id.ed_pacs_ae_title)
EditText ed_pacs_ae_title;
@BindView(R.id.ed_host_name)
EditText ed_host_name;
@BindView(R.id.ed_port)
EditText ed_port;
@BindView(R.id.txt_create)
TextView txt_create;
@BindView(R.id.txt_cancel)
TextView txt_cancel;
private CustomTimer scrollTimer;
private final String timerTAG_scroll = "scroll";
private InputMethodManager imm;
......@@ -98,8 +64,8 @@ public class DicomFragment extends BaseFragment implements CustomTimer.TimerCall
}
@Override
protected int rootLayout() {
return R.layout.fg_setting_dicom;
protected FgSettingDicomBinding getViewBinding(LayoutInflater inflater, ViewGroup container) {
return FgSettingDicomBinding.inflate(inflater,container,false);
}
@Override
......@@ -110,50 +76,50 @@ public class DicomFragment extends BaseFragment implements CustomTimer.TimerCall
public void initValue() {
if ( !SpManager.get_dev_ae_name().isEmpty() ) {
ed_ae_name.setText(SpManager.get_dev_ae_name());
binding.edAeName.setText(SpManager.get_dev_ae_name());
}
if ( SpManager.get_station_sel() ) {
rb_use_sn.setChecked(true);
binding.rbUseSn.setChecked(true);
//ed_station_name.setFocusable(false);
ed_station_name.setText(
binding.edStationName.setText(
Settings.Secure.getString(homeActivity.getContentResolver(), Settings.Secure.ANDROID_ID));
} else {
rb_define_name.setChecked(true);
binding.rbDefineName.setChecked(true);
if ( !SpManager.get_station_name().isEmpty() ) {
ed_station_name.setText(SpManager.get_station_name());
binding.edStationName.setText(SpManager.get_station_name());
}
}
if ( !SpManager.get_pacs_name().isEmpty() ) {
txt_show_dicom.setText(getString(R.string.string_pacs_name) + " : " + SpManager.get_pacs_name());
txt_new_create.setText(R.string.string_modify);
binding.txtShowDicom.setText(getString(R.string.string_pacs_name) + " : " + SpManager.get_pacs_name());
binding.txtNewCreate.setText(R.string.string_modify);
}
if ( !SpManager.get_pacs_name().isEmpty() ) {
ed_pacs_name.setText(SpManager.get_pacs_name());
binding.edPacsName.setText(SpManager.get_pacs_name());
}
if ( !SpManager.get_pacs_ae_name().isEmpty() ) {
ed_pacs_ae_title.setText(SpManager.get_pacs_ae_name());
binding.edPacsAeTitle.setText(SpManager.get_pacs_ae_name());
}
if ( !SpManager.get_host_name().isEmpty() ) {
ed_host_name.setText(SpManager.get_host_name());
binding.edHostName.setText(SpManager.get_host_name());
}
if ( SpManager.get_port() != 0 ) {
ed_port.setText(SpManager.get_port() + "");
binding.edPort.setText(SpManager.get_port() + "");
}
lay_show_dicom.setVisibility(View.VISIBLE);
lay_set_dicom.setVisibility(View.GONE);
binding.layShowDicom.setVisibility(View.VISIBLE);
binding.laySetDicom.setVisibility(View.GONE);
}
@Override
protected void setListener() {
rg_sn.setOnCheckedChangeListener(this);
ed_ae_name.setOnEditorActionListener(new TextView.OnEditorActionListener() {
binding.rgSn.setOnCheckedChangeListener(this);
binding.edAeName.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
if (imm != null) {
imm.hideSoftInputFromWindow(ed_ae_name.getWindowToken(), 0);
imm.hideSoftInputFromWindow(binding.edAeName.getWindowToken(), 0);
}
String str = ed_ae_name.getText().toString().trim();
String str = binding.edAeName.getText().toString().trim();
if (str.trim().length() <= 0) {
return false;
}
......@@ -162,7 +128,7 @@ public class DicomFragment extends BaseFragment implements CustomTimer.TimerCall
return false;
}
});
ed_ae_name.addTextChangedListener(new TextWatcher() {
binding.edAeName.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override
......@@ -171,14 +137,14 @@ public class DicomFragment extends BaseFragment implements CustomTimer.TimerCall
public void afterTextChanged(Editable s) {}
});
ed_station_name.setOnEditorActionListener(new TextView.OnEditorActionListener() {
binding.edStationName.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
if (imm != null) {
imm.hideSoftInputFromWindow(ed_station_name.getWindowToken(), 0);
imm.hideSoftInputFromWindow(binding.edStationName.getWindowToken(), 0);
}
String str = ed_station_name.getText().toString().trim();
String str = binding.edStationName.getText().toString().trim();
if (str.trim().length() <= 0) {
return false;
}
......@@ -187,7 +153,7 @@ public class DicomFragment extends BaseFragment implements CustomTimer.TimerCall
return false;
}
});
ed_station_name.addTextChangedListener(new TextWatcher() {
binding.edStationName.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override
......@@ -195,39 +161,42 @@ public class DicomFragment extends BaseFragment implements CustomTimer.TimerCall
@Override
public void afterTextChanged(Editable s) {}
});
binding.txtNewCreate.setOnClickListener(this);
binding.txtCancel.setOnClickListener(this);
binding.txtCreate.setOnClickListener(this);
}
@Override
@OnClick({ R.id.txt_new_create, R.id.txt_create, R.id.txt_cancel })
public void onClick(View v) {
switch (v.getId()) {
case R.id.txt_new_create:
hideIm();
lay_show_dicom.setVisibility(View.GONE);
lay_set_dicom.setVisibility(View.VISIBLE);
binding.layShowDicom.setVisibility(View.GONE);
binding.laySetDicom.setVisibility(View.VISIBLE);
break;
case R.id.txt_create:
hideIm();
if ( ed_pacs_name.getText().toString().isEmpty()
|| ed_pacs_ae_title.getText().toString().isEmpty()
|| ed_host_name.getText().toString().isEmpty()
|| ed_port.getText().toString().isEmpty() ) {
if ( binding.edPacsName.getText().toString().isEmpty()
|| binding.edPacsAeTitle.getText().toString().isEmpty()
|| binding.edHostName.getText().toString().isEmpty()
|| binding.edPort.getText().toString().isEmpty() ) {
MyApplication.showToastLong1(getActivity().getString(R.string.string_data_no));
break;
}
SpManager.set_dev_ae_name(ed_pacs_name.getText().toString().trim());
SpManager.set_dev_ae_name(binding.edPacsName.getText().toString().trim());
SpManager.set_pacs_name(ed_pacs_name.getText().toString().trim());
SpManager.set_pacs_ae_name(ed_pacs_ae_title.getText().toString().trim());
SpManager.set_host_name(ed_host_name.getText().toString().trim());
SpManager.set_port(Integer.parseInt(ed_port.getText().toString().trim()));
lay_show_dicom.setVisibility(View.VISIBLE);
lay_set_dicom.setVisibility(View.GONE);
SpManager.set_pacs_name(binding.edPacsName.getText().toString().trim());
SpManager.set_pacs_ae_name(binding.edPacsAeTitle.getText().toString().trim());
SpManager.set_host_name(binding.edHostName.getText().toString().trim());
SpManager.set_port(Integer.parseInt(binding.edPort.getText().toString().trim()));
binding.layShowDicom.setVisibility(View.VISIBLE);
binding.laySetDicom.setVisibility(View.GONE);
break;
case R.id.txt_cancel:
hideIm();
lay_show_dicom.setVisibility(View.VISIBLE);
lay_set_dicom.setVisibility(View.GONE);
binding.layShowDicom.setVisibility(View.VISIBLE);
binding.laySetDicom.setVisibility(View.GONE);
break;
default:
break;
......@@ -240,23 +209,23 @@ public class DicomFragment extends BaseFragment implements CustomTimer.TimerCall
case R.id.rb_use_sn:
Logger.d(" rb_use_sn " );
SpManager.set_station_sel(true);
ed_station_name.setFocusable(false);
ed_station_name.setFocusableInTouchMode(false);
ed_station_name.clearFocus();
ed_station_name.setText(
binding.edStationName.setFocusable(false);
binding.edStationName.setFocusableInTouchMode(false);
binding.edStationName.clearFocus();
binding.edStationName.setText(
Settings.Secure.getString(homeActivity.getContentResolver(), Settings.Secure.ANDROID_ID));
break;
case R.id.rb_define_name:
Logger.d(" rb_define_name " );
SpManager.set_station_sel(false);
ed_station_name.setFocusable(true);
ed_station_name.setFocusableInTouchMode(true);
ed_station_name.requestFocus();
binding.edStationName.setFocusable(true);
binding.edStationName.setFocusableInTouchMode(true);
binding.edStationName.requestFocus();
if ( !SpManager.get_station_name().isEmpty() ) {
ed_station_name.setText(SpManager.get_station_name());
ed_station_name.setSelection(ed_station_name.getText().length());
binding.edStationName.setText(SpManager.get_station_name());
binding.edStationName.setSelection(binding.edStationName.getText().length());
} else {
ed_station_name.setText("");
binding.edStationName.setText("");
}
break;
}
......
......@@ -2,7 +2,9 @@ package com.sw.laryngoscope.activity.fragment.setting;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CompoundButton;
import android.widget.RadioButton;
import android.widget.RadioGroup;
......@@ -15,6 +17,7 @@ import com.sw.laryngoscope.activity.CustomTimer;
import com.sw.laryngoscope.activity.HomeActivity;
import com.sw.laryngoscope.common.Constant;
import com.sw.laryngoscope.common.InitParam;
import com.sw.laryngoscope.databinding.FgSettingGeneralBinding;
import com.sw.laryngoscope.manager.LogoutTimerManager;
import com.sw.laryngoscope.manager.SpManager;
import com.sw.laryngoscope.utils.Logger;
......@@ -23,72 +26,12 @@ import com.sw.laryngoscope.widget.PhotoBgView1;
import java.util.Calendar;
import butterknife.BindView;
import butterknife.OnCheckedChanged;
import butterknife.OnClick;
public class GeneralFragment extends BaseFragment implements
CustomTimer.TimerCallBack, Switch.OnCheckedChangeListener, RadioGroup.OnCheckedChangeListener {
public class GeneralFragment extends BaseFragment<FgSettingGeneralBinding> implements
CustomTimer.TimerCallBack, Switch.OnCheckedChangeListener, RadioGroup.OnCheckedChangeListener,View.OnClickListener {
private static final String TAG = "GeneralFragment";
private Context context;
@BindView(R.id.switch_usb_input)
Switch switch_usb_input;
@BindView(R.id.switch_rt_rotation)
Switch switch_rt_rotation;
@BindView(R.id.switch_no_login_visit_doc)
Switch switch_no_login_visit_doc;
@BindView(R.id.switch_boot_psd)
Switch switch_boot_psd;
@BindView(R.id.rg_one_camera_set)
RadioGroup rg_one_camera_set;
@BindView(R.id.rb_one_awb)
RadioButton rb_one_awb;
@BindView(R.id.rb_one_magnify)
RadioButton rb_one_magnify;
@BindView(R.id.rb_one_record)
RadioButton rb_one_record;
@BindView(R.id.rb_one_photo)
RadioButton rb_one_photo;
@BindView(R.id.rb_one_ice)
RadioButton rb_one_ice;
@BindView(R.id.rg_two_camera_set)
RadioGroup rg_two_camera_set;
@BindView(R.id.rb_two_awb)
RadioButton rb_two_awb;
@BindView(R.id.rb_two_magnify)
RadioButton rb_two_magnify;
@BindView(R.id.rb_two_record)
RadioButton rb_two_record;
@BindView(R.id.rb_two_photo)
RadioButton rb_two_photo;
@BindView(R.id.rb_two_ice)
RadioButton rb_two_ice;
@BindView(R.id.rg_inactivity)
RadioGroup rg_inactivity;
@BindView(R.id.rb_10_min)
RadioButton rb_10_min;
@BindView(R.id.rb_30_min)
RadioButton rb_30_min;
@BindView(R.id.rb_60_min)
RadioButton rb_60_min;
@BindView(R.id.rb_never)
RadioButton rb_never;
@BindView(R.id.txt_border_a)
TextView txt_border_a;
@BindView(R.id.txt_border_b)
PhotoBgView1 txt_border_b;
@BindView(R.id.txt_border_c)
TextView txt_border_c;
/*@BindView(R.id.txt_border_d)
PhotoBgView1 txt_border_d;*/
RadioButton[] oneKeyBt = new RadioButton[5];
RadioButton[] twoKeyBt = new RadioButton[5];
......@@ -120,8 +63,8 @@ public class GeneralFragment extends BaseFragment implements
}
@Override
protected int rootLayout() {
return R.layout.fg_setting_general;
protected FgSettingGeneralBinding getViewBinding(LayoutInflater inflater, ViewGroup container) {
return FgSettingGeneralBinding.inflate(inflater,container,false);
}
@Override
......@@ -133,15 +76,15 @@ public class GeneralFragment extends BaseFragment implements
}
public void initValue() {
rb_10_min.setChecked(SpManager.get_inactivity_logout_time() == Constant.INACTIVITY_LOGOUT_TIME_10);
rb_30_min.setChecked(SpManager.get_inactivity_logout_time() == Constant.INACTIVITY_LOGOUT_TIME_30);
rb_60_min.setChecked(SpManager.get_inactivity_logout_time() == Constant.INACTIVITY_LOGOUT_TIME_60);
rb_never.setChecked(SpManager.get_inactivity_logout_time() == Constant.INACTIVITY_LOGOUT_TIME_NEVER);
binding.rb10Min.setChecked(SpManager.get_inactivity_logout_time() == Constant.INACTIVITY_LOGOUT_TIME_10);
binding.rb30Min.setChecked(SpManager.get_inactivity_logout_time() == Constant.INACTIVITY_LOGOUT_TIME_30);
binding.rb60Min.setChecked(SpManager.get_inactivity_logout_time() == Constant.INACTIVITY_LOGOUT_TIME_60);
binding.rbNever.setChecked(SpManager.get_inactivity_logout_time() == Constant.INACTIVITY_LOGOUT_TIME_NEVER);
switch_usb_input.setChecked(!SpManager.get_usb_input_enabled());
switch_rt_rotation.setChecked(!SpManager.get_rt_rotation());
switch_no_login_visit_doc.setChecked(!SpManager.get_no_login_visit_doc());
switch_boot_psd.setChecked(!SpManager.get_boot_psd());
binding.switchUsbInput.setChecked(!SpManager.get_usb_input_enabled());
binding.switchRtRotation.setChecked(!SpManager.get_rt_rotation());
binding.switchNoLoginVisitDoc.setChecked(!SpManager.get_no_login_visit_doc());
binding.switchBootPsd.setChecked(!SpManager.get_boot_psd());
setBonder();
......@@ -149,13 +92,15 @@ public class GeneralFragment extends BaseFragment implements
@Override
protected void setListener() {
rg_inactivity.setOnCheckedChangeListener(this);
rg_one_camera_set.setOnCheckedChangeListener(this);
rg_two_camera_set.setOnCheckedChangeListener(this);
binding.rgInactivity.setOnCheckedChangeListener(this);
binding.rgOneCameraSet.setOnCheckedChangeListener(this);
binding.rgTwoCameraSet.setOnCheckedChangeListener(this);
binding.txtBorderA.setOnClickListener(this);
binding.txtBorderB.setOnClickListener(this);
binding.txtBorderC.setOnClickListener(this);
}
@Override
@OnClick({ R.id.txt_border_a, R.id.txt_border_b, R.id.txt_border_c,/* R.id.txt_border_d,*/ })
public void onClick(View v) {
switch (v.getId()) {
case R.id.txt_border_a:
......@@ -234,16 +179,16 @@ public class GeneralFragment extends BaseFragment implements
}
public void initKeySel() {
oneKeyBt[0] = rb_one_awb;
oneKeyBt[1] = rb_one_magnify;
oneKeyBt[2] = rb_one_record;
oneKeyBt[3] = rb_one_photo;
oneKeyBt[4] = rb_one_ice;
twoKeyBt[0] = rb_two_awb;
twoKeyBt[1] = rb_two_magnify;
twoKeyBt[2] = rb_two_record;
twoKeyBt[3] = rb_two_photo;
twoKeyBt[4] = rb_two_ice;
oneKeyBt[0] = binding.rbOneAwb;
oneKeyBt[1] = binding.rbOneMagnify;
oneKeyBt[2] = binding.rbOneRecord;
oneKeyBt[3] = binding.rbOnePhoto;
oneKeyBt[4] = binding.rbOneIce;
twoKeyBt[0] = binding.rbTwoAwb;
twoKeyBt[1] = binding.rbTwoMagnify;
twoKeyBt[2] = binding.rbTwoRecord;
twoKeyBt[3] = binding.rbTwoPhoto;
twoKeyBt[4] = binding.rbTwoIce;
InitParam.handleOneKey[SpManager.get_handle_one_key()] = true;
InitParam.handleTwoKey[SpManager.get_handle_two_key()] = true;
......@@ -277,8 +222,6 @@ public class GeneralFragment extends BaseFragment implements
}
@Override
@OnCheckedChanged({ R.id.switch_usb_input, R.id.switch_rt_rotation,
R.id.switch_no_login_visit_doc, R.id.switch_boot_psd, })
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
switch (compoundButton.getId()) {
case R.id.switch_usb_input:
......@@ -306,19 +249,19 @@ public class GeneralFragment extends BaseFragment implements
public void setBonder() {
if ( SpManager.get_border_type() == Constant.BORDER_TYPE_A ) {
txt_border_a.setSelected(true);
binding.txtBorderA.setSelected(true);
} else {
txt_border_a.setSelected(false);
binding.txtBorderA.setSelected(false);
}
if ( SpManager.get_border_type() == Constant.BORDER_TYPE_B ) {
txt_border_b.setSelect(true);
binding.txtBorderB.setSelect(true);
} else {
txt_border_b.setSelect(false);
binding.txtBorderB.setSelect(false);
}
if ( SpManager.get_border_type() == Constant.BORDER_TYPE_C ) {
txt_border_c.setSelected(true);
binding.txtBorderC.setSelected(true);
} else {
txt_border_c.setSelected(false);
binding.txtBorderC.setSelected(false);
}
/*if ( SpManager.get_border_type() == Constant.BORDER_TYPE_D ) {
txt_border_d.setSelect(true);
......
......@@ -2,7 +2,9 @@ package com.sw.laryngoscope.activity.fragment.setting;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
......@@ -12,23 +14,15 @@ import com.sw.laryngoscope.activity.BaseFragment;
import com.sw.laryngoscope.activity.CustomTimer;
import com.sw.laryngoscope.activity.HomeActivity;
import com.sw.laryngoscope.common.InitParam;
import com.sw.laryngoscope.databinding.FgSettingLanBinding;
import com.sw.laryngoscope.utils.Logger;
import butterknife.BindView;
import butterknife.OnClick;
public class LanFragment extends BaseFragment implements CustomTimer.TimerCallBack {
public class LanFragment extends BaseFragment<FgSettingLanBinding> implements CustomTimer.TimerCallBack,View.OnClickListener {
private static final String TAG = "LanFragment";
private Context context;
@BindView(R.id.lin_lan)
public LinearLayout lin_lan;
@BindView(R.id.txt_lan)
public TextView txt_lan;
@BindView(R.id.img_lan_next)
public ImageView img_lan_next;
private CustomTimer scrollTimer;
private final String timerTAG_scroll = "scroll";
......@@ -57,8 +51,8 @@ public class LanFragment extends BaseFragment implements CustomTimer.TimerCallBa
}
@Override
protected int rootLayout() {
return R.layout.fg_setting_lan;
protected FgSettingLanBinding getViewBinding(LayoutInflater inflater, ViewGroup container) {
return FgSettingLanBinding.inflate(inflater,container,false);
}
@Override
......@@ -72,22 +66,22 @@ public class LanFragment extends BaseFragment implements CustomTimer.TimerCallBa
for (int i = 0; i < InitParam.LAN_TYPE_RES.length; i++ ) {
if ( getRootView().getResources().getConfiguration().locale.getLanguage()
.equals(InitParam.mLocale[i].getLanguage()) ) {
txt_lan.setText(InitParam.LAN_TYPE_RES[i]);
binding.txtLan.setText(InitParam.LAN_TYPE_RES[i]);
}
}
}
@Override
protected void setListener() {
binding.linLan.setOnClickListener(this);
}
@Override
@OnClick({ R.id.lin_lan, })
public void onClick(View v) {
switch (v.getId()) {
case R.id.lin_lan:
//homeFragment.backHomeFragment();
(new LanPopWindow(getContext())).showLanPop(lin_lan, txt_lan, img_lan_next);
(new LanPopWindow(getContext())).showLanPop(binding.linLan, binding.txtLan, binding.imgLanNext);
break;
default:
break;
......
......@@ -32,7 +32,7 @@ public class LanPopWindow {
this.context = context;
}
public void showLanPop(View view, TextView txtView, View arrow) {
public void showLanPop(View view, final TextView txtView, final View arrow) {
int curPos = -1;
View bottomView = View.inflate(context, R.layout.layout_lan_choose, null);
ListView lt_user = bottomView.findViewById(R.id.lt_user);
......
......@@ -5,7 +5,9 @@ import android.content.Context;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.SeekBar;
......@@ -16,6 +18,7 @@ import com.sw.laryngoscope.activity.BaseFragment;
import com.sw.laryngoscope.activity.CustomTimer;
import com.sw.laryngoscope.activity.HomeActivity;
import com.sw.laryngoscope.adapter.UsbItemAdapter;
import com.sw.laryngoscope.databinding.FgSettingLogBinding;
import com.sw.laryngoscope.db.UsbInfoBean;
import com.sw.laryngoscope.manager.Storage;
import com.sw.laryngoscope.manager.StorageStateManager;
......@@ -26,11 +29,9 @@ import com.sw.laryngoscope.utils.ShellUtils;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.OnClick;
public class LogExportFragment extends BaseFragment implements
CustomTimer.TimerCallBack, StorageStateManager.MountCallBack {
public class LogExportFragment extends BaseFragment<FgSettingLogBinding> implements
CustomTimer.TimerCallBack, StorageStateManager.MountCallBack,View.OnClickListener {
private static final String TAG = "LogExportFragment";
private Context context;
......@@ -38,18 +39,6 @@ public class LogExportFragment extends BaseFragment implements
private CustomTimer scrollTimer;
private final String timerTAG_scroll = "scroll";
@BindView(R.id.listView_usb)
ListView listView_usb;
@BindView(R.id.lay_usb)
RelativeLayout lay_usb;
@BindView(R.id.sb_log)
SeekBar sb_log;
//@BindView(R.id.ptv_open_persentage)
//ProgressTextView ptv_open_persentage;
@BindView(R.id.txt_export)
TextView txt_export;
public UsbItemAdapter mUsbItemAdapter;
public List<UsbInfoBean> usbInfolist = new ArrayList<>();
int mProgress = 0;
......@@ -67,9 +56,9 @@ public class LogExportFragment extends BaseFragment implements
StorageStateManager.getInstance().setMountCallBackFun(this);
Logger.d(TAG, "======showFragment======2");
//禁用状态
sb_log.setClickable(false);
sb_log.setEnabled(false);
sb_log.setFocusable(false);
binding.sbLog.setClickable(false);
binding.sbLog.setEnabled(false);
binding.sbLog.setFocusable(false);
}
@Override
......@@ -83,14 +72,14 @@ public class LogExportFragment extends BaseFragment implements
} else {
mHandler.removeMessages(MSG_COPY_LOG);
//StorageStateManager.getInstance().setMountCallBackFun(null);
lay_usb.setVisibility(View.GONE);
binding.layUsb.setVisibility(View.GONE);
Logger.d(TAG, "======showFragment======2 " + hidden);
}
}
@Override
protected int rootLayout() {
return R.layout.fg_setting_log;
protected FgSettingLogBinding getViewBinding(LayoutInflater inflater, ViewGroup container) {
return FgSettingLogBinding.inflate(inflater,container,false);
}
@Override
......@@ -98,17 +87,17 @@ public class LogExportFragment extends BaseFragment implements
//layout_home_home_guest = (ConstraintLayout) rootView.findViewById(R.id.layout_home_home_guest);
usbInfolist = new ArrayList<>();
mUsbItemAdapter = new UsbItemAdapter(getContext(), usbInfolist);
listView_usb.setAdapter(mUsbItemAdapter);
binding.listViewUsb.setAdapter(mUsbItemAdapter);
initValue();
}
public void initValue() {
if ( !Storage.isCheckExist(StorageStateManager.getInstance().getUdiskPath()) ) {
clearList();
lay_usb.setVisibility(View.GONE);
binding.layUsb.setVisibility(View.GONE);
} else if ( Storage.isCheckExist(StorageStateManager.getInstance().getUdiskPath())
/*&& SpManager.get_usb_input_enabled()*/ ) {
txt_export.setEnabled(true);
binding.txtExport.setEnabled(true);
initList(Storage.getUName(getContext()));
}
}
......@@ -119,10 +108,10 @@ public class LogExportFragment extends BaseFragment implements
usbInfolist.add(usbInfoBean);
mUsbItemAdapter.setBeans(usbInfolist);
mUsbItemAdapter.notifyDataSetChanged();
sb_log.setProgress(0);
binding.sbLog.setProgress(0);
//ptv_open_persentage.setProgress(0, 0 + "%");
lay_usb.setVisibility(View.VISIBLE);
sb_log.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
binding.layUsb.setVisibility(View.VISIBLE);
binding.sbLog.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (!fromUser) {
......@@ -152,15 +141,15 @@ public class LogExportFragment extends BaseFragment implements
@Override
protected void setListener() {
binding.txtExport.setOnClickListener(this);
}
@Override
@OnClick({ R.id.txt_export })
public void onClick(View v) {
switch (v.getId()) {
case R.id.txt_export:
sb_log.setProgress(0);
txt_export.setEnabled(false);
binding.sbLog.setProgress(0);
binding.txtExport.setEnabled(false);
mHandler.sendEmptyMessageDelayed(MSG_COPY_LOG, 500);
break;
default:
......@@ -193,10 +182,10 @@ public class LogExportFragment extends BaseFragment implements
public void MountEventProc(boolean mount) {
if ( mount /*&& SpManager.get_usb_input_enabled()*/ ) {
initList(Storage.getUName(getContext()));
txt_export.setEnabled(true);
binding.txtExport.setEnabled(true);
} else {
clearList();
lay_usb.setVisibility(View.GONE);
binding.layUsb.setVisibility(View.GONE);
mHandler.removeMessages(MSG_COPY_LOG);
//LogcatHelper.getInstance(context).stop();
}
......@@ -211,8 +200,8 @@ public class LogExportFragment extends BaseFragment implements
switch (msg.what) {
case MSG_COPY_LOG:
Log.d(TAG, "==.copyToUsb()1============");
int num = sb_log.getProgress();
int max = sb_log.getMax();
int num = binding.sbLog.getProgress();
int max = binding.sbLog.getMax();
if ( num < max ) {
num += 1;
} else {
......@@ -227,12 +216,12 @@ public class LogExportFragment extends BaseFragment implements
}).start();
mProgress = 0;
//ptv_open_persentage.setProgress(0, 0 + "%");
sb_log.setProgress(0);
binding.sbLog.setProgress(0);
mHandler.removeMessages(MSG_COPY_LOG);
txt_export.setEnabled(true);
binding.txtExport.setEnabled(true);
break;
}
sb_log.setProgress(num);
binding.sbLog.setProgress(num);
mHandler.sendEmptyMessageDelayed(MSG_COPY_LOG, 500);
break;
default:
......
......@@ -17,7 +17,9 @@ import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.animation.LinearInterpolator;
......@@ -43,6 +45,7 @@ import com.sw.laryngoscope.activity.CustomTimer;
import com.sw.laryngoscope.activity.HomeActivity;
import com.sw.laryngoscope.adapter.WifiListAdapter;
import com.sw.laryngoscope.common.Constant;
import com.sw.laryngoscope.databinding.FgSettingNetBinding;
import com.sw.laryngoscope.floatwindow.FloatWindowManager;
import com.sw.laryngoscope.manager.SpManager;
import com.sw.laryngoscope.manager.WifiDataManager;
......@@ -57,13 +60,10 @@ import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.List;
import butterknife.BindView;
import butterknife.OnCheckedChanged;
import butterknife.OnClick;
public class NetWorkFragment extends BaseFragment implements
public class NetWorkFragment extends BaseFragment<FgSettingNetBinding> implements
CustomTimer.TimerCallBack, Switch.OnCheckedChangeListener, OnWifiEnabledListener, OnWifiScanResultsListener,
OnWifiConnectListener, AdapterView.OnItemClickListener, AdapterView.OnItemLongClickListener {
OnWifiConnectListener, AdapterView.OnItemClickListener, AdapterView.OnItemLongClickListener ,View.OnClickListener{
private static final String TAG = "NetWorkFragment";
private Context context;
......@@ -75,39 +75,6 @@ public class NetWorkFragment extends BaseFragment implements
private CustomTimer scrollTimer;
private final String timerTAG_scroll = "scroll";
@BindView(R.id.lay_net_main)
RelativeLayout lay_net_main;
@BindView(R.id.switch_network)
Switch switch_network;
@BindView(R.id.ed_host_name)
EditText ed_host_name;
@BindView(R.id.txt_ip)
TextView txt_ip;
@BindView(R.id.lay_wifi_flush)
View lay_wifi_flush;
@BindView(R.id.switch_wifi)
Switch switch_wifi;
@BindView(R.id.img_flush)
ImageView img_flush;
@BindView(R.id.listview)
ListView listview;
@BindView(R.id.lay_wifi_psd)
View lay_wifi_psd;
@BindView(R.id.txt_wifi_name)
TextView txt_wifi_name;
@BindView(R.id.switch_auto)
Switch switch_auto;
@BindView(R.id.ed_wifi_psd)
EditText ed_wifi_psd;
@BindView(R.id.txt_status)
TextView txt_status;
@BindView(R.id.txt_ip_addr)
TextView txt_ip_addr;
@BindView(R.id.txt_save)
TextView txt_save;
private ScanResult connScanResult;
private WiFiManager mWiFiManager;
......@@ -135,10 +102,10 @@ public class NetWorkFragment extends BaseFragment implements
mWiFiManager.setOnWifiEnabledListener(this);
mWiFiManager.setOnWifiScanResultsListener(this);
mWiFiManager.setOnWifiConnectListener(this);
switch_wifi.setChecked(!mWiFiManager.isWifiEnabled());
binding.layWifiFlush.switchWifi.setChecked(!mWiFiManager.isWifiEnabled());
ed_host_name.setText(SpManager.get_dev_host_name());
ed_host_name.setSelection(ed_host_name.getText().length());
binding.edHostName.setText(SpManager.get_dev_host_name());
binding.edHostName.setSelection(binding.edHostName.getText().length());
new Thread(new Runnable() {
@Override
public void run() {
......@@ -167,8 +134,8 @@ public class NetWorkFragment extends BaseFragment implements
}
@Override
protected int rootLayout() {
return R.layout.fg_setting_net;
protected FgSettingNetBinding getViewBinding(LayoutInflater inflater, ViewGroup container) {
return FgSettingNetBinding.inflate(inflater,container,false);
}
@Override
......@@ -184,24 +151,24 @@ public class NetWorkFragment extends BaseFragment implements
ConnectivityManager connectMgr = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ethNetInfo = connectMgr.getNetworkInfo(ConnectivityManager.TYPE_ETHERNET);
if (ethNetInfo != null && ethNetInfo.isConnected()) {
switch_network.setChecked(true);
txt_ip.setText(NetIp.getIpAddressForInterfaces());
binding.switchNetwork.setChecked(true);
binding.txtIp.setText(NetIp.getIpAddressForInterfaces());
} else {
switch_network.setChecked(false);
txt_ip.setText("");
binding.switchNetwork.setChecked(false);
binding.txtIp.setText("");
}
//mEthernetManager.isEnabled();//判断有线是否开启
//mEthernetManager.setEnabled(false);
//switch_network.setChecked(!SpManager.get_usb_input_enabled());
ed_host_name.setOnEditorActionListener(new TextView.OnEditorActionListener() {
binding.edHostName.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
String outValue;
outValue = ed_host_name.getText().toString();
if ( ed_host_name.getText().length() >= 0 ) {
ed_host_name.setSelection(ed_host_name.getText().length());
outValue = binding.edHostName.getText().toString();
if ( binding.edHostName.getText().length() >= 0 ) {
binding.edHostName.setSelection(binding.edHostName.getText().length());
SpManager.set_dev_host_name(outValue);
}
Logger.d(TAG, "onEditorAction outValue: " + outValue);
......@@ -209,7 +176,7 @@ public class NetWorkFragment extends BaseFragment implements
return false;
}
});
ed_host_name.addTextChangedListener(new TextWatcher() {
binding.edHostName.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
......@@ -217,8 +184,8 @@ public class NetWorkFragment extends BaseFragment implements
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if ( ed_host_name.getText().length() >= 0 ) {
SpManager.set_dev_host_name(ed_host_name.getText().toString());
if ( binding.edHostName.getText().length() >= 0 ) {
SpManager.set_dev_host_name(binding.edHostName.getText().toString());
}
}
@Override
......@@ -228,46 +195,50 @@ public class NetWorkFragment extends BaseFragment implements
mWiFiManager = WiFiManager.getInstance(getContext());
mWifiListAdapter = new WifiListAdapter(getContext());
listview.setAdapter(this.mWifiListAdapter);
listview.setOnItemClickListener(this);
listview.setOnItemLongClickListener(this);
listview.setVerticalFadingEdgeEnabled(true);
listview.setFadingEdgeLength(120);
binding.layWifiFlush.listview.setAdapter(this.mWifiListAdapter);
binding.layWifiFlush.listview.setOnItemClickListener(this);
binding.layWifiFlush.listview.setOnItemLongClickListener(this);
binding.layWifiFlush.listview.setVerticalFadingEdgeEnabled(true);
binding.layWifiFlush.listview.setFadingEdgeLength(120);
}
@Override
protected void setListener() {
binding.layWifi.getRootView().setOnClickListener(this);
binding.layWifiFlush.imgFlush.setOnClickListener(this);
binding.layWifiPsd.txtSave.setOnClickListener(this);
binding.switchNetwork.setOnCheckedChangeListener(this);
binding.layWifiFlush.switchWifi.setOnCheckedChangeListener(this);
}
@Override
@OnClick({ R.id.lay_wifi, R.id.img_flush, R.id.txt_save })
public void onClick(View v) {
switch (v.getId()) {
case R.id.lay_wifi:
/*FloatWindowManager.getInstance(getContext()).stopOtherBackFloatWindow();
FloatWindowManager.getInstance(getContext()).startOtherBackFloatWindow();
Support.doStartApplicationWithPackageName(getContext(), androidSetting, androidWIFI);*/
lay_net_main.setVisibility(View.GONE);
lay_wifi_flush.setVisibility(View.VISIBLE);
binding.layNetMain.setVisibility(View.GONE);
binding.layWifiFlush.getRoot().setVisibility(View.VISIBLE);
startScanWifi();
break;
case R.id.img_flush:
startScanWifi();
break;
case R.id.txt_save:
if ( txt_save.getTag().equals("0") ) {
if ( binding.layWifiPsd.txtSave.getTag().equals("0") ) {
WifiConfiguration mWifiConfiguration =
mWiFiManager.getConfigFromConfiguredNetworksBySsid(txt_wifi_name.getText().toString());
mWiFiManager.getConfigFromConfiguredNetworksBySsid(binding.layWifiPsd.txtWifiName.getText().toString());
if ( mWifiConfiguration != null ) {
mWiFiManager.deleteConfig(mWifiConfiguration.networkId);
}
mWiFiManager.disconnectCurrentWifi();
txt_save.setTag("1");
txt_save.setText(R.string.string_ok);
binding.layWifiPsd.txtSave.setTag("1");
binding.layWifiPsd.txtSave.setText(R.string.string_ok);
break;
}
wifiPassword = ed_wifi_psd.getText().toString();
wifiPassword = binding.layWifiPsd.edWifiPsd.getText().toString();
if (TextUtils.isEmpty(wifiPassword)) {
break;
}
......@@ -300,7 +271,6 @@ public class NetWorkFragment extends BaseFragment implements
}
@Override
@OnCheckedChanged({ R.id.switch_network, R.id.switch_wifi, })
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
switch (compoundButton.getId()) {
case R.id.switch_network:
......@@ -310,15 +280,15 @@ public class NetWorkFragment extends BaseFragment implements
}
break;
case R.id.switch_wifi:
if ( !switch_wifi.isPressed() ) {
if ( !binding.layWifiFlush.switchWifi.isPressed() ) {
break;
}
if (!b) {
mWiFiManager.openWiFi();
listview.setVisibility(View.VISIBLE);
binding.layWifiFlush.listview.setVisibility(View.VISIBLE);
} else {
mWiFiManager.closeWiFi();
listview.setVisibility(View.GONE);
binding.layWifiFlush.listview.setVisibility(View.GONE);
}
break;
case R.id.switch_auto:
......@@ -445,7 +415,7 @@ public class NetWorkFragment extends BaseFragment implements
@Override
public void onWifiEnabled(boolean enabled) {
switch_wifi.setChecked(!enabled);
binding.layWifiFlush.switchWifi.setChecked(!enabled);
if ( enabled ) {
startScanWifi();
} else {
......@@ -480,24 +450,24 @@ public class NetWorkFragment extends BaseFragment implements
}
public void enterWifiInfo(String SSID) {
ed_wifi_psd.setText("");
lay_wifi_flush.setVisibility(View.GONE);
lay_wifi_psd.setVisibility(View.VISIBLE);
txt_wifi_name.setText(SSID);
binding.layWifiPsd.edWifiPsd.setText("");
binding.layWifiFlush.getRoot().setVisibility(View.GONE);
binding.layWifiPsd.getRoot().setVisibility(View.VISIBLE);
binding.layWifiPsd.txtWifiName.setText(SSID);
setWifiDetailInfo(SSID);
}
public void setWifiDetailInfo(String SSID) {
Logger.d(" setWifiDetailInfo SSID " + SSID);
if ( lay_wifi_psd.getVisibility() == View.VISIBLE ) {
if ( binding.layWifiPsd.getRoot().getVisibility() == View.VISIBLE ) {
WifiInfo curWifiInfo = ((WifiManager) getActivity().getApplicationContext().getSystemService(Context.WIFI_SERVICE))
.getConnectionInfo();
Logger.d(" setWifiDetailInfo curWifiInfo.getSSID() " + curWifiInfo.getSSID());
if ( curWifiInfo != null && ("\"" + SSID + "\"").equals(curWifiInfo.getSSID())) {
txt_status.setText(R.string.string_wifi_con);
txt_ip_addr.setText(intToIp(curWifiInfo.getIpAddress()));
txt_save.setText(R.string.string_cancel);
txt_save.setTag("0");
binding.layWifiPsd.txtStatus.setText(R.string.string_wifi_con);
binding.layWifiPsd.txtIpAddr.setText(intToIp(curWifiInfo.getIpAddress()));
binding.layWifiPsd.txtSave.setText(R.string.string_cancel);
binding.layWifiPsd.txtSave.setTag("0");
WifiConfiguration mWifiConfiguration = mWiFiManager.getConfigFromConfiguredNetworksBySsid(SSID);
if ( mWifiConfiguration != null ) {
//ed_wifi_psd.setText(mWifiConfiguration.preSharedKey);
......@@ -505,14 +475,14 @@ public class NetWorkFragment extends BaseFragment implements
}
String psd = WifiDataManager.getInstance().findWifiPsd(SSID);
if ( !psd.isEmpty() ) {
ed_wifi_psd.setText(psd);
binding.layWifiPsd.edWifiPsd.setText(psd);
}
} else {
ed_wifi_psd.setText("");
txt_status.setText(R.string.string_wifi_uncon);
txt_ip_addr.setText("");
txt_save.setText(R.string.string_ok);
txt_save.setTag("1");
binding.layWifiPsd.edWifiPsd.setText("");
binding.layWifiPsd.txtStatus.setText(R.string.string_wifi_uncon);
binding.layWifiPsd.txtIpAddr.setText("");
binding.layWifiPsd.txtSave.setText(R.string.string_ok);
binding.layWifiPsd.txtSave.setTag("1");
}
}
}
......@@ -526,12 +496,12 @@ public class NetWorkFragment extends BaseFragment implements
public boolean isBackProc() {
boolean ret = false;
if ( lay_wifi_flush.getVisibility() == View.VISIBLE ) {
lay_wifi_flush.setVisibility(View.GONE);
lay_net_main.setVisibility(View.VISIBLE);
} else if ( lay_wifi_psd.getVisibility() == View.VISIBLE ) {
lay_wifi_psd.setVisibility(View.GONE);
lay_wifi_flush.setVisibility(View.VISIBLE);
if ( binding.layWifiFlush.getRoot().getVisibility() == View.VISIBLE ) {
binding.layWifiFlush.getRoot().setVisibility(View.GONE);
binding.layNetMain.setVisibility(View.VISIBLE);
} else if ( binding.layWifiPsd.getRoot().getVisibility() == View.VISIBLE ) {
binding.layWifiPsd.getRoot().setVisibility(View.GONE);
binding.layWifiFlush.getRoot().setVisibility(View.VISIBLE);
startScanWifi();
hideIm();
} else {
......@@ -555,13 +525,13 @@ public class NetWorkFragment extends BaseFragment implements
|| action.equals("android.net.conn.CONNECTIVITY_CHANGE")) {
switch (isNetworkAvailable(context)) {
case NET_ETHERNET:
switch_network.setChecked(true);
txt_ip.setText(NetIp.getIpAddressForInterfaces());
binding.switchNetwork.setChecked(true);
binding.txtIp.setText(NetIp.getIpAddressForInterfaces());
Logger.d(" getIpAddress ---- " + NetIp.getIpAddressForInterfaces());
break;
case NET_NOCONNECT:
switch_network.setChecked(false);
txt_ip.setText("");
binding.switchNetwork.setChecked(false);
binding.txtIp.setText("");
break;
default:
break;
......@@ -608,20 +578,20 @@ public class NetWorkFragment extends BaseFragment implements
Logger.e("WifiReciever WIFI_STATE_CHANGED_ACTION " + i);
if (i == 1) {
Constant.isWifiOk = false;
listview.setVisibility(View.GONE);
binding.layWifiFlush.listview.setVisibility(View.GONE);
}
if (i == 3) {
listview.setVisibility(View.VISIBLE);
binding.layWifiFlush.listview.setVisibility(View.VISIBLE);
mWiFiManager.startScan();
}
if (i == 0) {
listview.setVisibility(View.GONE);
binding.layWifiFlush.listview.setVisibility(View.GONE);
}
if (i == 2) {
listview.setVisibility(View.GONE);
binding.layWifiFlush.listview.setVisibility(View.GONE);
}
if (i == 4) {
listview.setVisibility(View.GONE);
binding.layWifiFlush.listview.setVisibility(View.GONE);
}
} else if ( ConnectivityManager.CONNECTIVITY_ACTION.equals(intent.getAction()) ) {
connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
......@@ -703,14 +673,14 @@ public class NetWorkFragment extends BaseFragment implements
}
public void showFlush() {
img_flush.setImageResource(R.mipmap.img_flush_1);
binding.layWifiFlush.imgFlush.setImageResource(R.mipmap.img_flush_1);
animation.setInterpolator(new LinearInterpolator());
img_flush.startAnimation(animation);
binding.layWifiFlush.imgFlush.startAnimation(animation);
}
public void hideFlush() {
img_flush.clearAnimation();
img_flush.setImageResource(R.mipmap.img_flush_2);
binding.layWifiFlush.imgFlush.clearAnimation();
binding.layWifiFlush.imgFlush.setImageResource(R.mipmap.img_flush_2);
}
public static final int WIFI_STATE_DISABLING = 0;
......
......@@ -5,7 +5,9 @@ import android.content.Context;
import android.content.Intent;
import android.provider.Settings;
import android.text.format.DateFormat;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.DatePicker;
import android.widget.ImageView;
import android.widget.LinearLayout;
......@@ -18,6 +20,7 @@ import com.sw.laryngoscope.R;
import com.sw.laryngoscope.activity.BaseFragment;
import com.sw.laryngoscope.activity.CustomTimer;
import com.sw.laryngoscope.activity.HomeActivity;
import com.sw.laryngoscope.databinding.FgSettingTimedateBinding;
import com.sw.laryngoscope.utils.DateUtils;
import com.sw.laryngoscope.utils.Logger;
import com.sw.laryngoscope.utils.SystemTimeUtil;
......@@ -26,47 +29,13 @@ import com.sw.laryngoscope.widget.ChargeNumberPicker;
import java.util.Calendar;
import java.util.TimeZone;
import butterknife.BindView;
import butterknife.OnClick;
public class TimeDateFragment extends BaseFragment implements CustomTimer.TimerCallBack,
RadioGroup.OnCheckedChangeListener, DatePicker.OnDateChangedListener {
public class TimeDateFragment extends BaseFragment<FgSettingTimedateBinding> implements CustomTimer.TimerCallBack,
RadioGroup.OnCheckedChangeListener, DatePicker.OnDateChangedListener,View.OnClickListener {
private static final String TAG = "TimeDateFragment";
private Context context;
@BindView(R.id.lin_zone)
public LinearLayout lin_zone;
@BindView(R.id.txt_zone)
public TextView txt_zone;
@BindView(R.id.img_zone_next)
public ImageView img_zone_next;
@BindView(R.id.rg_1)
public RadioGroup rg_1;
@BindView(R.id.rb_12)
public RadioButton rb_12;
@BindView(R.id.rb_24)
public RadioButton rb_24;
@BindView(R.id.hourNumberPicker)
ChargeNumberPicker hourNumberPicker;
@BindView(R.id.minNumberPicker)
ChargeNumberPicker minNumberPicker;
@BindView(R.id.txt_calendar_title)
TextView txt_calendar_title;
@BindView(R.id.yearNumberPicker)
ChargeNumberPicker yearNumberPicker;
@BindView(R.id.monthNumberPicker)
ChargeNumberPicker monthNumberPicker;
@BindView(R.id.dateNumberPicker)
ChargeNumberPicker dateNumberPicker;
/*@BindView(R.id.datepicker)
DatePicker datepicker;*/
private CustomTimer scrollTimer;
private final String timerTAG_scroll = "scroll";
......@@ -101,14 +70,15 @@ public class TimeDateFragment extends BaseFragment implements CustomTimer.TimerC
}
@Override
protected int rootLayout() {
return R.layout.fg_setting_timedate;
protected FgSettingTimedateBinding getViewBinding(LayoutInflater inflater, ViewGroup container) {
return FgSettingTimedateBinding.inflate(inflater,container,false);
}
@Override
protected void init() {
hourNumberPicker.setMinValue(0);
hourNumberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
binding.hourNumberPicker.setMinValue(0);
binding.hourNumberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
Logger.d("hourNumberPicker " + oldVal + " " + newVal);
......@@ -116,7 +86,7 @@ public class TimeDateFragment extends BaseFragment implements CustomTimer.TimerC
((ChargeNumberPicker)picker).modifySelectText();
}
});
hourNumberPicker.setOnScrollListener(new NumberPicker.OnScrollListener() {
binding.hourNumberPicker.setOnScrollListener(new NumberPicker.OnScrollListener() {
@Override
public void onScrollStateChange(NumberPicker view, int scrollState) {
switch (scrollState) {
......@@ -127,11 +97,11 @@ public class TimeDateFragment extends BaseFragment implements CustomTimer.TimerC
}
}
});
hourNumberPicker.modifySelectText();
binding.hourNumberPicker.modifySelectText();
minNumberPicker.setMaxValue(59);
minNumberPicker.setMinValue(0);
minNumberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
binding.minNumberPicker.setMaxValue(59);
binding.minNumberPicker.setMinValue(0);
binding.minNumberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker,int oldVal,int newVal) {
Logger.d("minNumberPicker setMin2 " + oldVal + " " + newVal);
......@@ -139,7 +109,7 @@ public class TimeDateFragment extends BaseFragment implements CustomTimer.TimerC
((ChargeNumberPicker)picker).modifySelectText();
}
});
minNumberPicker.setOnScrollListener(new NumberPicker.OnScrollListener() {
binding.minNumberPicker.setOnScrollListener(new NumberPicker.OnScrollListener() {
@Override
public void onScrollStateChange(NumberPicker view, int scrollState) {
switch (scrollState) {
......@@ -150,10 +120,10 @@ public class TimeDateFragment extends BaseFragment implements CustomTimer.TimerC
}
}
});
minNumberPicker.modifySelectText();
binding.minNumberPicker.modifySelectText();
//年份滑动监听
yearNumberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
binding.yearNumberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
Logger.i(TAG,"oldVal-----"+oldVal+"-----newVal-----"+newVal);
......@@ -165,21 +135,21 @@ public class TimeDateFragment extends BaseFragment implements CustomTimer.TimerC
maxDay = 28;
}
//设置天数的最大值
if ( monthNumberPicker.getValue() == 2 ) {
dateNumberPicker.setMaxValue(maxDay);
if ( dateNumberPicker.getValue() > maxDay ) {
dateNumberPicker.setValue(1);
dateNumberPicker.modifySelectText();
if ( binding.monthNumberPicker.getValue() == 2 ) {
binding.dateNumberPicker.setMaxValue(maxDay);
if ( binding.dateNumberPicker.getValue() > maxDay ) {
binding.dateNumberPicker.setValue(1);
binding.dateNumberPicker.modifySelectText();
}
}
((ChargeNumberPicker)picker).modifySelectText();
txt_calendar_title.setText(newVal +
"-" + String.format("%02d", monthNumberPicker.getValue()) +
"-" + dateNumberPicker.getValue());
binding.txtCalendarTitle.setText(newVal +
"-" + String.format("%02d", binding.monthNumberPicker.getValue()) +
"-" + binding.dateNumberPicker.getValue());
}
});
//月份滑动监听
monthNumberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
binding.monthNumberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
Logger.i(TAG,"oldVal-----"+oldVal+"-----newVal-----"+newVal);
......@@ -187,7 +157,7 @@ public class TimeDateFragment extends BaseFragment implements CustomTimer.TimerC
//月份判断
switch (newVal){
case 2:
if(yearNumberPicker.getValue() % 4 == 0){
if(binding.yearNumberPicker.getValue() % 4 == 0){
maxDay = 29;
}else{
maxDay = 28;
......@@ -207,25 +177,25 @@ public class TimeDateFragment extends BaseFragment implements CustomTimer.TimerC
break;
}
//设置天数的最大值
dateNumberPicker.setMaxValue(maxDay);
if ( dateNumberPicker.getValue() > maxDay ) {
dateNumberPicker.setValue(1);
dateNumberPicker.modifySelectText();
binding.dateNumberPicker.setMaxValue(maxDay);
if ( binding.dateNumberPicker.getValue() > maxDay ) {
binding.dateNumberPicker.setValue(1);
binding.dateNumberPicker.modifySelectText();
}
((ChargeNumberPicker)picker).modifySelectText();
txt_calendar_title.setText(yearNumberPicker.getValue() +
binding.txtCalendarTitle.setText(binding.yearNumberPicker.getValue() +
"-" + String.format("%02d", newVal) +
"-" + dateNumberPicker.getValue());
"-" + binding.dateNumberPicker.getValue());
}
});
dateNumberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
binding.dateNumberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
Logger.i(TAG,"oldVal-----"+oldVal+"-----newVal-----"+newVal);
isModifyFrag = true;
((ChargeNumberPicker)picker).modifySelectText();
txt_calendar_title.setText(yearNumberPicker.getValue() +
"-" + String.format("%02d", monthNumberPicker.getValue()) +
binding.txtCalendarTitle.setText(binding.yearNumberPicker.getValue() +
"-" + String.format("%02d", binding.monthNumberPicker.getValue()) +
"-" + newVal);
}
});
......@@ -235,58 +205,58 @@ public class TimeDateFragment extends BaseFragment implements CustomTimer.TimerC
}
public void initValue() {
txt_calendar_title.setText(DateUtils.formatDate(System.currentTimeMillis() / 1000));
binding.txtCalendarTitle.setText(DateUtils.formatDate(System.currentTimeMillis() / 1000));
hourNumberPicker.setMaxValue(23);
binding.hourNumberPicker.setMaxValue(23);
Logger.d(" initValue " + Calendar.getInstance().getTimeZone() + " mCalendar " + Calendar.getInstance().getTime()
+ " " + Calendar.getInstance().get(Calendar.HOUR));
hourNumberPicker.setValue(Calendar.getInstance().get(Calendar.HOUR));
minNumberPicker.setValue(Calendar.getInstance().get(Calendar.MINUTE));
binding.hourNumberPicker.setValue(Calendar.getInstance().get(Calendar.HOUR));
binding.minNumberPicker.setValue(Calendar.getInstance().get(Calendar.MINUTE));
if ( !DateFormat.is24HourFormat(getContext()) ) {
rb_12.setChecked(true);
binding.rb12.setChecked(true);
} else {
rb_24.setChecked(true);
binding.rb24.setChecked(true);
}
//txt_zone.setText(TimeZone.getDefault().getID());
//final Calendar now = Calendar.getInstance();
//txt_zone.setText(getTimeZoneText(TimeZone.getDefault(), true));
//txt_zone.setText(getTimeZoneOffsetAndName(now.getTimeZone(), now.getTime()));
txt_zone.setText(TimeZone.getDefault().getDisplayName());
binding.txtZone.setText(TimeZone.getDefault().getDisplayName());
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int monthOfYear = calendar.get(Calendar.MONTH) + 1;
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
//datepicker.init(year, monthOfYear, dayOfMonth, this);
yearNumberPicker.setMaxValue(2050);
yearNumberPicker.setValue(year); //中间参数 设置默认值
yearNumberPicker.setMinValue(2023);
yearNumberPicker.modifySelectText();
binding.yearNumberPicker.setMaxValue(2050);
binding.yearNumberPicker.setValue(year); //中间参数 设置默认值
binding.yearNumberPicker.setMinValue(2023);
binding.yearNumberPicker.modifySelectText();
//设置月份
monthNumberPicker.setMaxValue(12);
monthNumberPicker.setValue(monthOfYear);
monthNumberPicker.setMinValue(1);
monthNumberPicker.modifySelectText();
binding.monthNumberPicker.setMaxValue(12);
binding.monthNumberPicker.setValue(monthOfYear);
binding.monthNumberPicker.setMinValue(1);
binding.monthNumberPicker.modifySelectText();
//设置天数
dateNumberPicker.setMaxValue(31);
dateNumberPicker.setValue(dayOfMonth);
dateNumberPicker.setMinValue(1);
dateNumberPicker.modifySelectText();
binding.dateNumberPicker.setMaxValue(31);
binding.dateNumberPicker.setValue(dayOfMonth);
binding.dateNumberPicker.setMinValue(1);
binding.dateNumberPicker.modifySelectText();
}
@Override
protected void setListener() {
rg_1.setOnCheckedChangeListener(this);
binding.rg1.setOnCheckedChangeListener(this);
}
public void setDate() {
//if ( isModifyFrag ) {
Settings.System.putString(getActivity().getContentResolver(),
Settings.System.TIME_12_24, rb_12.isChecked() ? "12" : "24");
SystemTimeUtil.setSysDate(getContext(), yearNumberPicker.getValue(),
monthNumberPicker.getValue() - 1, dateNumberPicker.getValue());
SystemTimeUtil.setSysTime(getContext(), hourNumberPicker.getValue(), minNumberPicker.getValue());
Settings.System.TIME_12_24, binding.rb12.isChecked() ? "12" : "24");
SystemTimeUtil.setSysDate(getContext(), binding.yearNumberPicker.getValue(),
binding.monthNumberPicker.getValue() - 1, binding.dateNumberPicker.getValue());
SystemTimeUtil.setSysTime(getContext(), binding.hourNumberPicker.getValue(), binding.minNumberPicker.getValue());
//}
isModifyFrag = false;
}
......@@ -297,12 +267,11 @@ public class TimeDateFragment extends BaseFragment implements CustomTimer.TimerC
}
@Override
@OnClick({ R.id.lin_zone, R.id.txt_ok, })
public void onClick(View v) {
switch (v.getId()) {
case R.id.lin_zone:
//homeFragment.backHomeFragment();
(new ZonePopWindow(getContext())).showZonePop(lin_zone, txt_zone, img_zone_next);
(new ZonePopWindow(getContext())).showZonePop(binding.linZone, binding.txtZone, binding.imgZoneNext);
break;
case R.id.txt_ok:
setDate();
......
......@@ -33,7 +33,7 @@ public class ZonePopWindow {
this.context = context;
}
public void showZonePop(View view, final TextView txtView, View arrow) {
public void showZonePop(View view, final TextView txtView, final View arrow) {
View bottomView = View.inflate(context, R.layout.layout_zone_choose, null);
ListView lt_zone = bottomView.findViewById(R.id.lt_zone);
mZoneItemAdapter = new ZoneItemAdapter(context, InitParam.zoneList);
......
......@@ -24,6 +24,8 @@ import android.widget.Toast;
import com.sw.laryngoscope.R;
import com.sw.laryngoscope.base.BaseActivity;
import com.sw.laryngoscope.base.factory.CreatePresenter;
import com.sw.laryngoscope.databinding.ActivityLoginBinding;
import com.sw.laryngoscope.databinding.ActivityMainBinding;
import com.sw.laryngoscope.db.AccountInfoDB;
import com.sw.laryngoscope.manager.AccountManager;
import com.sw.laryngoscope.manager.LogoutTimerManager;
......@@ -38,7 +40,6 @@ import com.sw.laryngoscope.widget.BatteryStateView;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
/**
* @Description 这里用一句话描述
......@@ -47,34 +48,11 @@ import butterknife.BindView;
*/
@CreatePresenter(LoginPresenter.class)
public class LoginActivity extends
BaseActivity<LoginView, LoginPresenter>
BaseActivity<LoginView, LoginPresenter, ActivityLoginBinding>
implements LoginView, View.OnClickListener, View.OnTouchListener,
LogoutTimerManager.LogoutCallBack,
BatteryStateViewUtil.OnBatteryChargeLitener {
@BindView(R.id.batterView)
public BatteryStateView batterView;
@BindView(R.id.layout_ad)
View layout_ad;
@BindView(R.id.layout_login)
View layout_login;
@BindView(R.id.layout_name)
LinearLayout layout_name;
@BindView(R.id.edit_user_name)
EditText edit_user_name;
@BindView(R.id.img_user_spinner)
ImageView img_user_spinner;
@BindView(R.id.edit_user_psd)
EditText edit_user_psd;
@BindView(R.id.img_hide_secret)
ImageView img_hide_secret;
@BindView(R.id.txt_login)
TextView txt_login;
@BindView(R.id.txt_anonymous)
TextView txt_anonymous;
protected Context context;
/*@BindView(R.id.txt_test)
......@@ -110,9 +88,9 @@ public class LoginActivity extends
getdata = SpManager.getSelectBean();
if (getdata != null && getdata.size() > 0) {
if (!TextUtils.isEmpty(getdata.get(0).getName())) {
edit_user_name.setText(getdata.get(0).getName());
binding.layoutLogin.editUserName.setText(getdata.get(0).getName());
//edit_user_psd.setText(getdata.get(0).getPassword());
edit_user_name.setSelection(edit_user_name.getText().length());
binding.layoutLogin.editUserName.setSelection(binding.layoutLogin.editUserName.getText().length());
//edit_user_psd.setSelection(edit_user_psd.getText().length());
}
Logger.d(" getdata ---- " + getdata.size());
......@@ -134,14 +112,19 @@ public class LoginActivity extends
/*txt_test.setOnMultiClickListener(() -> {
HomeActivity.this.startActivity(new Intent("android.intent.action.WEIKENTEST"));
});*/
layout_ad.postDelayed(runnable, 5 * 1000);
binding.layoutAd.getRoot().postDelayed(runnable, 5 * 1000);
}
@Override
protected ActivityLoginBinding getViewBinding() {
return ActivityLoginBinding.inflate(getLayoutInflater());
}
Runnable runnable = new Runnable() {
@Override
public void run() {
layout_ad.setVisibility(View.GONE);
layout_login.setVisibility(View.VISIBLE);
binding.layoutAd.getRoot().setVisibility(View.GONE);
binding.layoutLogin.getRoot().setVisibility(View.VISIBLE);
}
};
......@@ -164,11 +147,6 @@ public class LoginActivity extends
}
@Override
protected int getLayoutId() {
return R.layout.activity_login;
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.txt_login:
......@@ -180,8 +158,8 @@ public class LoginActivity extends
}
}).start();*/
account = edit_user_name.getText().toString();
password = edit_user_psd.getText().toString();
account = binding.layoutLogin.editUserName.getText().toString();
password = binding.layoutLogin.editUserPsd.getText().toString();
if( TextUtils.isEmpty(account) || TextUtils.isEmpty(password) ){
Toast.makeText(context, getString(R.string.string_account_non), Toast.LENGTH_LONG).show();
break;
......@@ -230,20 +208,20 @@ public class LoginActivity extends
} else {
isShowDialog = true;
if (mSpinerPopWindow != null) {
mSpinerPopWindow.showAsDropDown(layout_name, 0, -2);
mSpinerPopWindow.showAsDropDown(binding.layoutLogin.layoutName, 0, -2);
}
}
break;
case R.id.img_hide_secret:
//Jpg2Dcm.main();
if ( edit_user_psd.getInputType() == 128 ) {
edit_user_psd.setInputType(129);//设置为隐藏密码
img_hide_secret.setSelected(false);
if ( binding.layoutLogin.editUserPsd.getInputType() == 128 ) {
binding.layoutLogin.editUserPsd.setInputType(129);//设置为隐藏密码
binding.layoutLogin.imgHideSecret.setSelected(false);
} else {
edit_user_psd.setInputType(128);//设置为显示密码
img_hide_secret.setSelected(true);
binding.layoutLogin.editUserPsd.setInputType(128);//设置为显示密码
binding.layoutLogin.imgHideSecret.setSelected(true);
}
edit_user_psd.setSelection(edit_user_psd.getText().length());
binding.layoutLogin.editUserPsd.setSelection(binding.layoutLogin.editUserPsd.getText().length());
break;
case R.id.txt_anonymous:
finish();
......@@ -270,10 +248,10 @@ public class LoginActivity extends
@SuppressLint("ClickableViewAccessibility")
private void setListener() {
//((RadioButton) rg_home_bottom.getChildAt(0)).setChecked(true);
img_user_spinner.setOnClickListener(this);
img_hide_secret.setOnClickListener(this);
txt_login.setOnClickListener(this);
txt_anonymous.setOnClickListener(this);
binding.layoutLogin.imgUserSpinner.setOnClickListener(this);
binding.layoutLogin.imgHideSecret.setOnClickListener(this);
binding.layoutLogin.txtLogin.setOnClickListener(this);
binding.layoutLogin.txtAnonymous.setOnClickListener(this);
}
@Override
......@@ -288,7 +266,7 @@ public class LoginActivity extends
private void showInput() {
if (!imm.isActive()) {
imm.showSoftInput(edit_user_name,
imm.showSoftInput(binding.layoutLogin.editUserName,
InputMethodManager.SHOW_IMPLICIT);
}
}
......@@ -296,7 +274,7 @@ public class LoginActivity extends
private void hideInput() {
if (imm.isActive()) {
imm.hideSoftInputFromWindow(
edit_user_name.getWindowToken(), 0);
binding.layoutLogin.editUserName.getWindowToken(), 0);
}
}
......@@ -310,10 +288,10 @@ public class LoginActivity extends
isShowDialog = false;
List<AccountInfoDB> datalist = SpManager.getSelectBean();
if (datalist != null && datalist.size() > 0) {
edit_user_name.setText(datalist.get(0).getName());
edit_user_psd.setText(datalist.get(0).getPassword());
edit_user_name.setSelection(edit_user_name.getText().length());
edit_user_psd.setSelection(edit_user_psd.getText().length());
binding.layoutLogin.editUserName.setText(datalist.get(0).getName());
binding.layoutLogin.editUserPsd.setText(datalist.get(0).getPassword());
binding.layoutLogin.editUserName.setSelection(binding.layoutLogin.editUserName.getText().length());
binding.layoutLogin.editUserPsd.setSelection(binding.layoutLogin.editUserPsd.getText().length());
}
getdata = SpManager.getSelectBean();
mSpinerPopWindow.setList(getdata);
......@@ -337,10 +315,10 @@ public class LoginActivity extends
isShowDialog = false;
mSpinerPopWindow.dismiss();
if ( getdata.size() > 0 ) {
edit_user_name.setText(getdata.get(position).getName());
edit_user_psd.setText(getdata.get(position).getPassword());
edit_user_name.setSelection(edit_user_name.getText().length());
edit_user_psd.setSelection(edit_user_psd.getText().length());
binding.layoutLogin.editUserName.setText(getdata.get(position).getName());
binding.layoutLogin.editUserPsd.setText(getdata.get(position).getPassword());
binding.layoutLogin.editUserName.setSelection(binding.layoutLogin.editUserName.getText().length());
binding.layoutLogin.editUserPsd.setSelection(binding.layoutLogin.editUserPsd.getText().length());
}
}
};
......@@ -350,7 +328,7 @@ public class LoginActivity extends
public void batteryRegister() {
if ( batteryChangedReceiver == null ) {
BatteryStateViewUtil.setOnBatteryLitener(this);
batteryChangedReceiver = BatteryStateViewUtil.createBroadcastReceiver(batterView);
batteryChangedReceiver = BatteryStateViewUtil.createBroadcastReceiver(binding.batterView);
}
//binding.batteryStateView是电量的组件
registerReceiver(batteryChangedReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
......
......@@ -163,7 +163,7 @@ public class DetailGdItemAdapter extends RecyclerView.Adapter<DetailGdItemAdapte
}
@Override
public void onBindViewHolder(ViewHolder holder, @SuppressLint("RecyclerView") int position) {
public void onBindViewHolder(final ViewHolder holder, @SuppressLint("RecyclerView") final int position) {
RecordInfoDB temp = list.get( list.size() - position -1 );
String file;
if ( temp.getType() == InitParam.FILE_PHOTO ) {
......
......@@ -89,7 +89,7 @@ public class FileItemAdapter extends BaseAdapter {
holder = (ViewHolder)convertView.getTag();
}
FileDayBean bean = this.beans.get(position);
final FileDayBean bean = this.beans.get(position);
if ( selPos == position ) {
//holder.lay_value.setBackgroundResource(R.drawable.bg_user_sideview_gray);
/*holder.lay_userlist.setBackgroundColor(
......
......@@ -63,8 +63,8 @@ public class FolderItemAdapter extends RecyclerView.Adapter<FolderItemAdapter.Vi
}
@Override
public void onBindViewHolder(ViewHolder holder, @SuppressLint("RecyclerView") int position) {
FolderItemBean temp = list.get( list.size() - position -1 );
public void onBindViewHolder(ViewHolder holder, @SuppressLint("RecyclerView") final int position) {
final FolderItemBean temp = list.get( list.size() - position -1 );
//Logger.d(" onBindViewHolder ------------- " + list.size());
if ( mFileListMg.curFoldLevel == InitParam.FOLDER_LEVEL.L_ONE.ordinal() ) {
holder.txt_name.setText(temp.getFdName());
......
......@@ -70,7 +70,7 @@ public class ListAdapter extends RecyclerView.Adapter<ListAdapter.ViewHolder> {
}
@Override
public void onBindViewHolder(ViewHolder holder, @SuppressLint("RecyclerView") int position) {
public void onBindViewHolder(ViewHolder holder, @SuppressLint("RecyclerView") final int position) {
if ( curSelPos == position ) {
holder.item_detail_img.setSelected(true);
} else {
......
......@@ -61,7 +61,7 @@ public class ShowGdItemAdapter extends BaseAdapter {
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if (convertView != null) {
viewHolder = (ViewHolder) convertView.getTag();
......
......@@ -9,6 +9,7 @@ import android.view.Window;
import android.view.WindowManager;
import androidx.annotation.Nullable;
import androidx.viewbinding.ViewBinding;
import com.sw.laryngoscope.base.factory.PresenterFactory;
import com.sw.laryngoscope.base.factory.PresenterFactoryImpl;
......@@ -16,7 +17,6 @@ import com.sw.laryngoscope.base.factory.PresenterProxy;
import com.sw.laryngoscope.base.factory.PresenterProxyImpl;
import com.sw.laryngoscope.utils.Logger;
import butterknife.ButterKnife;
/**
* @Description 继承自Activity的基类MvpActivity
......@@ -26,14 +26,14 @@ import butterknife.ButterKnife;
* @Author
* @Time 2019/05/29
*/
public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V>>
public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V>,VB extends ViewBinding>
extends Activity implements BaseView, PresenterProxy<V, P> {
public String TAG;
private static final String PRESENTER_SAVE_KEY = "presenter_save_key";
private PresenterProxyImpl<V, P> mProxyImpl;
protected VB binding; // ViewBinding 变量
public View.OnLongClickListener longClickListener = new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
......@@ -56,8 +56,9 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V
super.onCreate(savedInstanceState);
TAG = getClass().getSimpleName();
hideBottomUIMenu();
setContentView(getLayoutId());
ButterKnife.bind(this);
// 绑定 ViewBinding
binding = getViewBinding();
setContentView(binding.getRoot());
//创建被代理对象,传入默认Presenter的工厂
mProxyImpl = new PresenterProxyImpl<>(PresenterFactoryImpl.<V, P>createFactory(getClass()));
......@@ -73,7 +74,8 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V
mProxyImpl.onResume((V) this);
}
protected abstract int getLayoutId();
// 让子类提供 ViewBinding 实例
protected abstract VB getViewBinding();
@Override
protected void onDestroy() {
......
......@@ -325,9 +325,6 @@ public class VideoCFModule extends BaseModule implements MediaRecorder.OnErrorLi
zoomParam = 0;
previewSizeWidth = 0;
previewSizeHeight = 0;
fragment.getActivity().runOnUiThread(() -> {
//(fragment.getRootView().findViewById(R.id.img_cam_fg_2)).setBackgroundResource(0);
});
try {
if ( frontCamera == null ) {
//TMP_CAM_ID = FACING_FRONT;
......
......@@ -7,35 +7,36 @@ import android.widget.PopupWindow;
import androidx.annotation.IdRes;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.viewbinding.ViewBinding;
import com.sw.laryngoscope.R;
import butterknife.ButterKnife;
public abstract class BasePopWindow
public abstract class BasePopWindow<T extends ViewBinding>
extends PopupWindow
implements View.OnClickListener, View.OnTouchListener {
public String TAG = "";
protected Context mContext;
protected ConstraintLayout rootView;
protected T binding; // 绑定 ViewBinding
protected View view_pop_empty;
public View.OnLongClickListener
longClickListener = v -> true;
public View.OnLongClickListener longClickListener = new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
return true;
}
};
public BasePopWindow(Context context) {
this.mContext = context;
TAG = getClass().getSimpleName();
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
rootView = (ConstraintLayout) inflater.inflate(
getPopLayoutId(), null);
// 使用 ViewBinding 代替 LayoutInflater.inflate()
binding = getViewBinding(LayoutInflater.from(context));
setContentView(rootView);
ButterKnife.bind(this, rootView);
setContentView(binding.getRoot());
setWidth(mContext.getResources()
.getDimensionPixelSize(R.dimen.dp_x_823));
......@@ -70,7 +71,9 @@ public abstract class BasePopWindow
}
public abstract int getPopLayoutId();
// 抽象方法,让子类提供 ViewBinding 实例
protected abstract T getViewBinding(LayoutInflater inflater);
public abstract void init();
......
......@@ -2,6 +2,7 @@ package com.sw.laryngoscope.popWindow;
import android.annotation.SuppressLint;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
......@@ -11,18 +12,11 @@ import android.widget.TextView;
import com.sw.laryngoscope.R;
import com.sw.laryngoscope.activity.HomeActivity;
import com.sw.laryngoscope.databinding.LayoutDlgUserDelBinding;
import butterknife.BindView;
@SuppressLint("NonConstantResourceId")
public class DelUserPopWindow extends BasePopWindow {
@BindView(R.id.txt_title)
TextView txt_title;
@BindView(R.id.img_export_close)
ImageView img_export_close;
@BindView(R.id.img_del)
ImageView img_del;
public class DelUserPopWindow extends BasePopWindow<LayoutDlgUserDelBinding> {
/**
* 是否为公制
......@@ -38,8 +32,8 @@ public class DelUserPopWindow extends BasePopWindow {
}
@Override
public int getPopLayoutId() {
return R.layout.layout_dlg_user_del;
protected LayoutDlgUserDelBinding getViewBinding(LayoutInflater inflater) {
return LayoutDlgUserDelBinding.inflate(inflater);
}
@Override
......@@ -59,12 +53,12 @@ public class DelUserPopWindow extends BasePopWindow {
@Override
public void setListener() {
img_export_close.setOnClickListener(this);
img_del.setOnClickListener(this);
binding.imgExportClose.setOnClickListener(this);
binding.imgDel.setOnClickListener(this);
}
public void setTitle(String name) {
txt_title.setText(homeActivity.getString(R.string.string_is_del_user, name));
binding.txtTitle.setText(homeActivity.getString(R.string.string_is_del_user, name));
}
@Override
......
......@@ -2,6 +2,7 @@ package com.sw.laryngoscope.popWindow;
import android.annotation.SuppressLint;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
......@@ -14,66 +15,16 @@ import android.widget.TextView;
import com.sw.laryngoscope.R;
import com.sw.laryngoscope.activity.HomeActivity;
import com.sw.laryngoscope.databinding.LayoutDetailCopyInfoDialogBinding;
import com.sw.laryngoscope.manager.SpManager;
import com.sw.laryngoscope.utils.Logger;
import butterknife.BindView;
@SuppressLint("NonConstantResourceId")
public class DetailCopyInfoPopWindow extends BasePopWindow implements RadioGroup.OnCheckedChangeListener {
@BindView(R.id.lay_copy_info)
RelativeLayout lay_copy_info;
@BindView(R.id.rg_format)
RadioGroup rg_format;
@BindView(R.id.rb_dicom)
RadioButton rb_dicom;
@BindView(R.id.rb_basic)
RadioButton rb_basic;
@BindView(R.id.ed_patient_id)
EditText ed_patient_id;
@BindView(R.id.ed_name)
EditText ed_name;
@BindView(R.id.ed_age)
EditText ed_age;
@BindView(R.id.rg_sex)
RadioGroup rg_sex;
@BindView(R.id.rb_male)
RadioButton rb_male;
@BindView(R.id.rb_female)
RadioButton rb_female;
@BindView(R.id.img_export_close)
ImageView img_export_close;
@BindView(R.id.img_export)
ImageView img_export;
@BindView(R.id.lay_copying)
RelativeLayout lay_copying;
@BindView(R.id.txt_tip_3)
TextView txt_tip_3;
@BindView(R.id.txt_ok)
TextView txt_ok;
@BindView(R.id.lay_2)
RelativeLayout lay_2;
@BindView(R.id.lay_3)
RelativeLayout lay_3;
@BindView(R.id.lay_4)
RelativeLayout lay_4;
@BindView(R.id.lay_5)
RelativeLayout lay_5;
@BindView(R.id.lay_6)
RelativeLayout lay_6;
/**
* 是否为公制
*/
public class DetailCopyInfoPopWindow extends BasePopWindow<LayoutDetailCopyInfoDialogBinding>
implements RadioGroup.OnCheckedChangeListener {
private boolean isMetric = false;
private InputMethodManager imm;
private final HomeActivity homeActivity;
public DetailCopyInfoPopWindow(HomeActivity activity, Context context) {
......@@ -82,8 +33,8 @@ public class DetailCopyInfoPopWindow extends BasePopWindow implements RadioGroup
}
@Override
public int getPopLayoutId() {
return R.layout.layout_detail_copy_info_dialog;
protected LayoutDetailCopyInfoDialogBinding getViewBinding(LayoutInflater inflater) {
return LayoutDetailCopyInfoDialogBinding.inflate(inflater);
}
@Override
......@@ -91,7 +42,7 @@ public class DetailCopyInfoPopWindow extends BasePopWindow implements RadioGroup
setFocusable(true);
imm = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
ActionModeCallbackInterceptor interceptor = new ActionModeCallbackInterceptor();
// ActionModeCallbackInterceptor interceptor = new ActionModeCallbackInterceptor();
//edit_login_new_account_name.setCustomSelectionActionModeCallback(interceptor);
//edit_login_new_account_name.setCustomInsertionActionModeCallback(interceptor);
setOutsideTouchable(false);
......@@ -104,13 +55,13 @@ public class DetailCopyInfoPopWindow extends BasePopWindow implements RadioGroup
.getDimensionPixelSize(R.dimen.dp_y_755));
if ( SpManager.get_copy_file_type() == 0 ) {
rb_dicom.setChecked(true);
binding.rbDicom.setChecked(true);
setLayDicomShow(View.VISIBLE);
} else if ( SpManager.get_copy_file_type() == 1 ) {
rb_basic.setChecked(true);
binding.rbBasic.setChecked(true);
setLayDicomShow(View.GONE);
}
rb_male.setChecked(true);
binding.rbMale.setChecked(true);
/*setTouchInterceptor(new View.OnTouchListener() {
@Override
......@@ -127,25 +78,25 @@ public class DetailCopyInfoPopWindow extends BasePopWindow implements RadioGroup
}
void setLayDicomShow(int visibility) {
lay_2.setVisibility(visibility);
lay_3.setVisibility(visibility);
lay_4.setVisibility(visibility);
lay_5.setVisibility(visibility);
lay_6.setVisibility(visibility == View.VISIBLE ? View.GONE : View.VISIBLE);
binding.lay2.setVisibility(visibility);
binding.lay3.setVisibility(visibility);
binding.lay4.setVisibility(visibility);
binding.lay5.setVisibility(visibility);
binding.lay6.setVisibility(visibility == View.VISIBLE ? View.GONE : View.VISIBLE);
}
@Override
public void setListener() {
img_export_close.setOnClickListener(this);
img_export.setOnClickListener(this);
txt_ok.setOnClickListener(this);
binding.imgExportClose.setOnClickListener(this);
binding.imgExport.setOnClickListener(this);
binding.txtOk.setOnClickListener(this);
rg_format.setOnCheckedChangeListener(this);
rg_sex.setOnCheckedChangeListener(this);
binding.rgFormat.setOnCheckedChangeListener(this);
binding.rgSex.setOnCheckedChangeListener(this);
ed_patient_id.setOnClickListener(this);
ed_name.setOnClickListener(this);
ed_age.setOnClickListener(this);
binding.edPatientId.setOnClickListener(this);
binding.edName.setOnClickListener(this);
binding.edAge.setOnClickListener(this);
}
@Override
......@@ -165,12 +116,12 @@ public class DetailCopyInfoPopWindow extends BasePopWindow implements RadioGroup
break;
case R.id.img_export:
if ( mCopyCallback != null ) {
lay_copy_info.setVisibility(View.GONE);
lay_copying.setVisibility(View.VISIBLE);
mCopyCallback.startCopy(SpManager.get_copy_file_type(), ed_name.getText().toString().trim(),
rb_male.isChecked() ? "M" : "F",
ed_patient_id.getText().toString().trim(),
ed_age.getText().toString().trim());
binding.layCopyInfo.setVisibility(View.GONE);
binding.layCopying.setVisibility(View.VISIBLE);
mCopyCallback.startCopy(SpManager.get_copy_file_type(), binding.edName.getText().toString().trim(),
binding.rbMale.isChecked() ? "M" : "F",
binding.edPatientId.getText().toString().trim(),
binding.edAge.getText().toString().trim());
}
break;
case R.id.txt_ok:
......@@ -192,8 +143,8 @@ public class DetailCopyInfoPopWindow extends BasePopWindow implements RadioGroup
@Override
public void showAtLocation(View parent, int gravity, int x, int y) {
super.showAtLocation(parent, gravity, x, y);
lay_copy_info.setVisibility(View.VISIBLE);
lay_copying.setVisibility(View.GONE);
binding.layCopyInfo.setVisibility(View.VISIBLE);
binding.layCopying.setVisibility(View.GONE);
setOnDismissListener(dismissListener);
}
......@@ -214,7 +165,7 @@ public class DetailCopyInfoPopWindow extends BasePopWindow implements RadioGroup
private void showInput() {
//if (!imm.isActive()) {
imm.showSoftInput(ed_patient_id,
imm.showSoftInput(binding.edPatientId,
InputMethodManager.SHOW_IMPLICIT);
Logger.d("======showInput========");
//}
......@@ -223,16 +174,16 @@ public class DetailCopyInfoPopWindow extends BasePopWindow implements RadioGroup
private void hideInput() {
if (imm.isActive()) {
imm.hideSoftInputFromWindow(
ed_patient_id.getWindowToken(), 0);
binding.edPatientId.getWindowToken(), 0);
}
}
private final Runnable immMission = new Runnable() {
@Override
public void run() {
ed_patient_id.requestFocus();
ed_patient_id.performClick();
imm.showSoftInput(ed_patient_id,
binding.edPatientId.requestFocus();
binding.edPatientId.performClick();
imm.showSoftInput(binding.edPatientId,
InputMethodManager.SHOW_IMPLICIT);
}
};
......@@ -255,7 +206,7 @@ public class DetailCopyInfoPopWindow extends BasePopWindow implements RadioGroup
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (rg_format.getCheckedRadioButtonId()) {
switch (binding.rgFormat.getCheckedRadioButtonId()) {
case R.id.rb_dicom:
SpManager.set_copy_file_type(0);
Logger.d(TAG, "============rb_dicom");
......@@ -269,7 +220,7 @@ public class DetailCopyInfoPopWindow extends BasePopWindow implements RadioGroup
default:
break;
}
switch (rg_sex.getCheckedRadioButtonId()) {
switch (binding.rgSex.getCheckedRadioButtonId()) {
case R.id.rb_male:
Logger.d(TAG, "============rb_male");
break;
......@@ -288,7 +239,7 @@ public class DetailCopyInfoPopWindow extends BasePopWindow implements RadioGroup
}
public void setCopyInfo(String cpNum, String checkNum) {
txt_tip_3.setText( homeActivity.getString(R.string.string_copy_tip, cpNum,
binding.txtTip3.setText( homeActivity.getString(R.string.string_copy_tip, cpNum,
checkNum) );
}
......
......@@ -2,43 +2,21 @@ package com.sw.laryngoscope.popWindow;
import android.annotation.SuppressLint;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.PopupWindow;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import com.sw.laryngoscope.R;
import com.sw.laryngoscope.activity.HomeActivity;
import com.sw.laryngoscope.common.InitParam;
import com.sw.laryngoscope.databinding.LayoutMainShowUserinfoDialogBinding;
import butterknife.BindView;
@SuppressLint("NonConstantResourceId")
public class NewPatientIDPopWindow extends BasePopWindow implements RadioGroup.OnCheckedChangeListener {
@BindView(R.id.ed_patient_id)
EditText ed_patient_id;
@BindView(R.id.ed_patient_age)
EditText ed_patient_age;
/*@BindView(R.id.ed_patient_gender)
EditText ed_patient_gender;*/
@BindView(R.id.rg_sex)
RadioGroup rg_sex;
@BindView(R.id.rb_male)
RadioButton rb_male;
@BindView(R.id.rb_female)
RadioButton rb_female;
@BindView(R.id.rb_blank)
RadioButton rb_blank;
/**
* 是否为公制
*/
public class NewPatientIDPopWindow extends BasePopWindow<LayoutMainShowUserinfoDialogBinding> implements RadioGroup.OnCheckedChangeListener {
private boolean isMetric = false;
private InputMethodManager imm;
......@@ -48,10 +26,9 @@ public class NewPatientIDPopWindow extends BasePopWindow implements RadioGroup.O
super(context);
homeActivity = activity;
}
@Override
public int getPopLayoutId() {
return R.layout.layout_main_show_userinfo_dialog;
protected LayoutMainShowUserinfoDialogBinding getViewBinding(LayoutInflater inflater) {
return LayoutMainShowUserinfoDialogBinding.inflate(inflater);
}
@Override
......@@ -112,7 +89,7 @@ public class NewPatientIDPopWindow extends BasePopWindow implements RadioGroup.O
public void afterTextChanged(Editable s) {
}
});*/
rg_sex.setOnCheckedChangeListener(this);
binding.rgSex.setOnCheckedChangeListener(this);
}
@SuppressLint("ClickableViewAccessibility")
......@@ -145,9 +122,9 @@ public class NewPatientIDPopWindow extends BasePopWindow implements RadioGroup.O
public void showAsDropDown(View parent, int x, int y) {
super.showAsDropDown(parent, x, y);
setOnDismissListener(dismissListener);
rb_male.setChecked(InitParam.patientSex == 0);
rb_female.setChecked(InitParam.patientSex == 1);
rb_blank.setChecked(InitParam.patientSex == 2);
binding.rbMale.setChecked(InitParam.patientSex == 0);
binding.rbFemale.setChecked(InitParam.patientSex == 1);
binding.rbBlank.setChecked(InitParam.patientSex == 2);
}
@Override
......@@ -158,7 +135,7 @@ public class NewPatientIDPopWindow extends BasePopWindow implements RadioGroup.O
private void showInput() {
if (!imm.isActive()) {
imm.showSoftInput(ed_patient_id,
imm.showSoftInput(binding.edPatientId,
InputMethodManager.SHOW_IMPLICIT);
}
}
......@@ -166,16 +143,16 @@ public class NewPatientIDPopWindow extends BasePopWindow implements RadioGroup.O
private void hideInput() {
if (imm.isActive()) {
imm.hideSoftInputFromWindow(
ed_patient_id.getWindowToken(), 0);
binding.edPatientId.getWindowToken(), 0);
}
}
private final Runnable immMission = new Runnable() {
@Override
public void run() {
ed_patient_id.requestFocus();
ed_patient_id.performClick();
imm.showSoftInput(ed_patient_id,
binding.edPatientId.requestFocus();
binding.edPatientId.performClick();
imm.showSoftInput(binding.edPatientId,
InputMethodManager.SHOW_IMPLICIT);
}
};
......@@ -184,8 +161,8 @@ public class NewPatientIDPopWindow extends BasePopWindow implements RadioGroup.O
@Override
public void onDismiss() {
if ( minfoCallback != null ) {
minfoCallback.getinfo(ed_patient_id.getText().toString(),
ed_patient_age.getText().toString(),
minfoCallback.getinfo(binding.edPatientId.getText().toString(),
binding.edPatientAge.getText().toString(),
homeActivity.getString(InitParam.SEX_VAL_RES[InitParam.patientSex]));
}
}
......
......@@ -2,29 +2,18 @@ package com.sw.laryngoscope.popWindow;
import android.annotation.SuppressLint;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import com.sw.laryngoscope.R;
import com.sw.laryngoscope.activity.HomeActivity;
import com.sw.laryngoscope.common.InitParam;
import com.sw.laryngoscope.widget.TextThumbSeekBar2;
import com.sw.laryngoscope.databinding.LayoutMainShowVideomakeBinding;
import butterknife.BindView;
@SuppressLint("NonConstantResourceId")
public class VideoMakePopWindow extends BasePopWindow {
public class VideoMakePopWindow extends BasePopWindow<LayoutMainShowVideomakeBinding> {
@BindView(R.id.sb_con)
TextThumbSeekBar2 sb_con;
/**
* 是否为公制
*/
private boolean isMetric = false;
private InputMethodManager imm;
......@@ -36,8 +25,8 @@ public class VideoMakePopWindow extends BasePopWindow {
}
@Override
public int getPopLayoutId() {
return R.layout.layout_main_show_videomake;
protected LayoutMainShowVideomakeBinding getViewBinding(LayoutInflater inflater) {
return LayoutMainShowVideomakeBinding.inflate(inflater);
}
@Override
......@@ -48,9 +37,9 @@ public class VideoMakePopWindow extends BasePopWindow {
//setOutsideTouchable(false);
//setFocusable(false);
//setTouchable(true);
sb_con.setClickable(false);
sb_con.setEnabled(false);
sb_con.setFocusable(false);
binding.sbCon.setClickable(false);
binding.sbCon.setEnabled(false);
binding.sbCon.setFocusable(false);
}
@Override
......@@ -66,7 +55,7 @@ public class VideoMakePopWindow extends BasePopWindow {
@Override
public void showAtLocation(View parent, int gravity, int x, int y) {
super.showAtLocation(parent, gravity, x, y);
sb_con.setProgress(0);
binding.sbCon.setProgress(0);
}
@Override
......@@ -82,7 +71,7 @@ public class VideoMakePopWindow extends BasePopWindow {
}
public void setSb_con(int pro) {
this.sb_con.setProgress(pro);
binding.sbCon.setProgress(pro);
}
private void showInput() {
......
......@@ -125,7 +125,7 @@ public class AnimationUtil {
}
}
public void incFileAnim(View view) {
public void incFileAnim(final View view) {
view.startAnimation(incAnimation);//开始动画
incAnimation.setAnimationListener(new Animation.AnimationListener(){
@Override
......
......@@ -14,7 +14,7 @@ public class BatteryStateViewUtil {
* @param view
* @return
*/
public static BroadcastReceiver createBroadcastReceiver(BatteryStateView view) {
public static BroadcastReceiver createBroadcastReceiver(final BatteryStateView view) {
return new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
......
......@@ -25,7 +25,7 @@ public class SystemTimeUtil {
/**
* 设置系统的时间
*/
public static void setSysTime(Context context, int hourOfDay, int minute) {
public static void setSysTime(Context context, final int hourOfDay, final int minute) {
new Thread(new Runnable() {
@Override
public void run() {
......
......@@ -68,7 +68,7 @@ public class Thumbnail {
return bitmap;
}
public static void createVideoThumbnailBitmap1(String filePath, String toFile) {
public static void createVideoThumbnailBitmap1(final String filePath, final String toFile) {
new Thread(new Runnable() {
@Override
public void run() {
......@@ -114,7 +114,7 @@ public class Thumbnail {
}).start();
}
public static void createVideoThumbnailBitmap(String filePath, String toFile, Bitmap mBitmap) {
public static void createVideoThumbnailBitmap(final String filePath, final String toFile, final Bitmap mBitmap) {
//final String filePath = "/sdcard/DCIM/OCamera/VID_20221103_002616.mp4";
new Thread(new Runnable() {
......
......@@ -4,6 +4,7 @@ import android.annotation.SuppressLint;
import android.content.Context;
import android.os.SystemClock;
import android.util.AttributeSet;
import android.view.View;
import android.widget.TextView;
import androidx.annotation.Nullable;
......@@ -43,14 +44,16 @@ public class MultiClickTextView extends TextView {
private void init(){
mHints = new long[mCount];
setOnClickListener(v -> {
//将原数组的第二位到最后一个复制到第1位到倒数第2位
System.arraycopy(mHints,1,mHints,0,mHints.length - 1);
mHints[mHints.length - 1] = SystemClock.uptimeMillis();
if(mHints[0] >= (SystemClock.uptimeMillis() - limiit)){
if(multiClickListener != null){
mHints = new long[mCount];
multiClickListener.onMultiClick();
setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
System.arraycopy(mHints, 1, mHints, 0, mHints.length - 1);
mHints[mHints.length - 1] = SystemClock.uptimeMillis();
if (mHints[0] >= (SystemClock.uptimeMillis() - limiit)) {
if (multiClickListener != null) {
mHints = new long[mCount];
multiClickListener.onMultiClick();
}
}
}
});
......
......@@ -130,7 +130,12 @@ public class NiceSpinner extends AppCompatTextView {
if (bundle.getBoolean(IS_POPUP_SHOWING)) {
if (popupWindow != null) {
// Post the show request into the looper to avoid bad token exception
post(this::showDropDown);
post(new Runnable() {
@Override
public void run() {
showDropDown();
}
});
}
}
isArrowHidden = bundle.getBoolean(IS_ARROW_HIDDEN, false);
......
......@@ -2,7 +2,7 @@
buildscript {
repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
classpath "com.android.tools.build:gradle:7.0.0"
......@@ -15,7 +15,7 @@ buildscript {
allprojects {
repositories {
google()
jcenter()
mavenCentral()
}
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
......