liufuhua007

fragment 修改为androidx版本

package com.sw.laryngoscope.FHIR.fragment;
import android.app.FragmentTransaction;
import android.content.Context;
import android.provider.Settings;
import android.text.Editable;
......@@ -14,6 +15,8 @@ import android.view.inputmethod.InputMethodManager;
import android.widget.RadioGroup;
import android.widget.TextView;
import androidx.fragment.app.Fragment;
import com.sw.laryngoscope.R;
import com.sw.laryngoscope.activity.BaseFragment;
import com.sw.laryngoscope.activity.CustomTimer;
......@@ -103,6 +106,9 @@ public class FhirSettingFragment extends BaseFragment<FgSettingFhirBinding> impl
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.txt_patient_list:
break;
default:
break;
}
......@@ -111,6 +117,7 @@ public class FhirSettingFragment extends BaseFragment<FgSettingFhirBinding> impl
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
switch (radioGroup.getCheckedRadioButtonId()) {
}
}
......
......@@ -2,22 +2,22 @@ package com.sw.laryngoscope.FHIR.fragment;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.Toolbar;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import androidx.lifecycle.ViewModelStoreOwner;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.sw.laryngoscope.R;
import com.sw.laryngoscope.FHIR.adapter.SelectPatientsAdapter;
import com.sw.laryngoscope.activity.BaseFragment;
import com.sw.laryngoscope.activity.HomeActivity;
import com.sw.laryngoscope.databinding.FgPatientFragmentBinding;
import com.sw.laryngoscope.FHIR.model.PatientModel;
import com.sw.laryngoscope.FHIR.viewModel.SharedViewModel;
......@@ -25,61 +25,53 @@ import com.sw.laryngoscope.FHIR.viewModel.SharedViewModel;
import java.util.ArrayList;
import java.util.HashMap;
public class SelectPatientsFragment extends Fragment implements SelectPatientsAdapter.OnPatientClickListener{
public class SelectPatientsFragment extends BaseFragment<FgPatientFragmentBinding> implements SelectPatientsAdapter.OnPatientClickListener{
private String practitionerID;
private SelectPatientsFragment thisFrag; // a reference to this fragment
// private Toolbar toolbar;
private SharedViewModel sharedViewModel;
// private RecyclerView recyclerView;
private ArrayList<PatientModel> selectedPatients = new ArrayList<>();
// private TextView title;
// private TextView loadingTextView;
// private ImageButton backButton;
// private ProgressBar loadingSpinner;
private FgPatientFragmentBinding binding;
/**
* Constructor
* @param practitionerID the Health Practitioner's ID
*/
public SelectPatientsFragment(String practitionerID) {
this.practitionerID = practitionerID;
}
private HomeActivity homeActivity;
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
binding = FgPatientFragmentBinding.inflate(inflater, container, false);
return binding.getRoot();
protected FgPatientFragmentBinding getViewBinding(LayoutInflater inflater, ViewGroup container) {
return FgPatientFragmentBinding.inflate(inflater,container,false);
}
public void onViewCreatred(@NonNull View view,@Nullable Bundle savedInstanceState){
sharedViewModel = new ViewModelProvider(requireActivity()).get(SharedViewModel.class);
// find all the graphical components
// recyclerView = root.findViewById(R.id.select_patients_recycler_view);
// backButton = root.findViewById(R.id.btn_back);
// toolbar = root.findViewById(R.id.select_patients_toolbar);
// title = toolbar.findViewById(R.id.toolbar_title);
// loadingTextView = root.findViewById(R.id.select_patients_txt_loading);
// loadingSpinner = root.findViewById(R.id.select_patients_progressBar);
@Override
protected void init() {
// sharedViewModel = new ViewModelProvider(new ViewModelStoreOwner(this)).get(SharedViewModel.class);
binding.selectPatientsTxtLoading.setVisibility(View.VISIBLE);
binding.selectPatientsProgressBar.setVisibility(View.VISIBLE);
sharedViewModel.setPractitionerID(practitionerID);
// sharedViewModel.setPractitionerID(practitionerID);
setUpToolBar();
//update UI when there's new patient under Health Practitioner
sharedViewModel.getAllPatients().observe(getViewLifecycleOwner(),patientUpdatedObserver);
// sharedViewModel.getAllPatients().observe(getActivity(),patientUpdatedObserver);
thisFrag = this;
}
@Override
protected void setListener() {
}
// public void onViewCreatred(@NonNull View view,@Nullable Bundle savedInstanceState){
//
//
//
// // find all the graphical components
//// recyclerView = root.findViewById(R.id.select_patients_recycler_view);
//// backButton = root.findViewById(R.id.btn_back);
//// toolbar = root.findViewById(R.id.select_patients_toolbar);
//// title = toolbar.findViewById(R.id.toolbar_title);
//// loadingTextView = root.findViewById(R.id.select_patients_txt_loading);
//// loadingSpinner = root.findViewById(R.id.select_patients_progressBar);
//
//
// }
/**
* This observer observes for changes in patient list
* ( The list that contains all patients under Health Practitioner )
......@@ -161,4 +153,13 @@ public class SelectPatientsFragment extends Fragment implements SelectPatientsAd
binding.selectPatientsToolbar.toolbarTitle.setText(text);
}
@Override
public void backMainAct() {
}
@Override
public boolean startEnable() {
return false;
}
}
......
package com.sw.laryngoscope.activity;
import android.app.Fragment;
import android.content.Context;
import android.os.Bundle;
import android.view.KeyEvent;
......@@ -12,6 +11,10 @@ import android.view.ViewGroup;
import androidx.annotation.Nullable;
import androidx.viewbinding.ViewBinding;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.viewbinding.ViewBinding;
public abstract class BaseFragment<VB extends ViewBinding> extends Fragment
implements HomeCallback {
......
......@@ -3,33 +3,23 @@ package com.sw.laryngoscope.activity;
import android.Manifest;
import android.annotation.SuppressLint;
import android.app.FragmentManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.FragmentManager;
import com.mobile.ffmpeg.util.FFmpegAsyncUtils;
import com.mobile.ffmpeg.util.FFmpegExecuteCallback;
import com.sw.laryngoscope.FHIR.fragment.SelectPatientsFragment;
import com.sw.laryngoscope.MyApplication;
import com.sw.laryngoscope.R;
import com.sw.laryngoscope.activity.fragment.archive.ArchiveFragment;
......@@ -88,6 +78,8 @@ public class HomeActivity extends
public LoginFragment loginFragment;
public SettingFragment settingFragment;
public SelectPatientsFragment patientsFragment;
private CustomTimer backLiveTimer;
private final String backLiveTAG = "backLiveTimer";
......@@ -108,7 +100,7 @@ public class HomeActivity extends
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context = getApplicationContext();
fragmentManager = getFragmentManager();
fragmentManager = getSupportFragmentManager();
long beginTime = SystemClock.elapsedRealtime();
checkPermission();
......@@ -325,6 +317,13 @@ public class HomeActivity extends
showSettingFragment();
}
break;
case R.id.btn_patient:
Logger.d(TAG, "======showFragment======btn_set"+binding.layoutHomeLeft.btnSet.isPressed());
if( binding.layoutHomeLeft.btnPatient.isPressed() ) {
showPatientFragment();
}
break;
}
}
if ( binding.layoutHomeLeftO.getRoot().getVisibility() == View.VISIBLE ) {
......@@ -374,7 +373,7 @@ public class HomeActivity extends
private void init() {
if (homeFragment == null) {
homeFragment = new HomeFragment();
getFragmentManager().beginTransaction()
fragmentManager.beginTransaction()
.add(R.id.home_fragment, homeFragment)
.show(homeFragment)
.commit();
......@@ -416,7 +415,7 @@ public class HomeActivity extends
if (archiveFragment == null) {
archiveFragment = new ArchiveFragment();
archiveFragment.setHomeActivity(this);
getFragmentManager().beginTransaction()
fragmentManager.beginTransaction()
.add(R.id.home_fragment, archiveFragment)
.commit();
}
......@@ -429,7 +428,7 @@ public class HomeActivity extends
if (loginFragment == null) {
loginFragment = new LoginFragment();
loginFragment.setHomeActivity(this);
getFragmentManager().beginTransaction()
fragmentManager.beginTransaction()
.add(R.id.home_fragment, loginFragment)
.commit();
}
......@@ -445,7 +444,7 @@ public class HomeActivity extends
settingFragment.showSet();
isBackToSetting = false;
}
getFragmentManager().beginTransaction()
fragmentManager.beginTransaction()
.add(R.id.home_fragment, settingFragment)
.commit();
}
......@@ -456,6 +455,18 @@ public class HomeActivity extends
showFragment(settingFragment);
}
private void showPatientFragment() {
binding.txtDeviceId.setVisibility(View.GONE);
if (patientsFragment == null) {
patientsFragment = new SelectPatientsFragment();
patientsFragment.setHomeActivity(this);
fragmentManager.beginTransaction()
.add(R.id.home_fragment, patientsFragment)
.commit();
}
showFragment(patientsFragment);
}
public void showLeftO() {
//layout_home_left.setVisibility(View.VISIBLE);
//layout_home_left_o.setVisibility(View.GONE);
......
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;
import androidx.fragment.app.FragmentManager;
import com.sw.laryngoscope.FHIR.fragment.FhirSettingFragment;
import com.sw.laryngoscope.R;
import com.sw.laryngoscope.activity.BaseFragment;
......
package com.sw.laryngoscope.activity.fragment.archive;
import android.app.FragmentManager;
import android.content.Context;
import android.os.Handler;
import android.view.KeyEvent;
......@@ -17,6 +16,7 @@ import android.widget.PopupWindow;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.fragment.app.FragmentManager;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
......
......@@ -6,11 +6,7 @@ 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;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
import com.sw.laryngoscope.BuildConfig;
......@@ -42,10 +38,8 @@ public class AboutFragment extends BaseFragment<FgSettingAbBinding> implements C
private static final String TAG = "AboutFragment";
private Context context;
private CustomTimer scrollTimer;
private final String timerTAG_scroll = "scroll";
private DeviceInfoItemAdapter mDeviceInfoItemAdapter;
private List<DeviceInfoBean> listInfoBean = new ArrayList<>();
......
......@@ -12,10 +12,8 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.RelativeLayout;
import android.widget.ScrollView;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.Toast;
import com.sw.laryngoscope.BuildConfig;
......
......@@ -9,6 +9,7 @@ import android.view.Window;
import android.view.WindowManager;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewbinding.ViewBinding;
import com.sw.laryngoscope.base.factory.PresenterFactory;
......@@ -27,7 +28,7 @@ import com.sw.laryngoscope.utils.Logger;
* @Time 2019/05/29
*/
public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V>,VB extends ViewBinding>
extends Activity implements BaseView, PresenterProxy<V, P> {
extends AppCompatActivity implements BaseView, PresenterProxy<V, P> {
public String TAG;
private static final String PRESENTER_SAVE_KEY = "presenter_save_key";
......
......@@ -54,6 +54,15 @@
android:drawableTop="@drawable/btn_menu_settings"
android:background="@drawable/bg_real_time_display_select"
android:button="@null" />
<com.sw.laryngoscope.widget.CenterRadioButton
android:id="@+id/btn_patient"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_y_120"
android:layout_marginTop="@dimen/dp_y_neg_30"
android:drawableTop="@drawable/btn_menu_settings"
android:background="@drawable/bg_real_time_display_select"
android:button="@null" />
</RadioGroup>
<TextView
......
......@@ -78,6 +78,20 @@
android:textColorHint="@color/color_d8d8d8"
android:textSize="@dimen/text_size_24" />
</RelativeLayout>
<TextView
android:id="@+id/txt_patient_list"
android:layout_width="180dp"
android:layout_height="50dp"
android:layout_below="@+id/lay_1"
android:layout_alignParentRight="true"
android:layout_marginTop="50dp"
android:layout_marginRight="30dp"
android:background="@drawable/shape_txt_set_style_12_2"
android:gravity="center"
android:text="View Patient"
android:textColor="@drawable/txt_click_color_1"
android:textSize="@dimen/text_size_25" />
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
......