app/src/main/AndroidManifest.xml
@@ -6,6 +6,7 @@ <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" /> <application android:name=".MyApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" @@ -13,7 +14,7 @@ android:supportsRtl="true" android:theme="@style/Theme.Missions" > <activity android:name=".MainActivity" android:name=".ui.main.MainActivity" android:exported="true" android:label="@string/app_name" > <intent-filter> app/src/main/java/com/duqing/missions/base/activities/BaseLoadPageActivity.java
@@ -7,7 +7,7 @@ import androidx.recyclerview.widget.RecyclerView; import androidx.viewbinding.ViewBinding; import com.duqing.missions.base.BaseAdapter; import com.duqing.missions.base.adapter.BaseAdapter; import com.duqing.missions.base.model.BaseLoadPageViewModel; import com.duqing.missions.data.BasePageResult; import com.scwang.smart.refresh.footer.ClassicsFooter; app/src/main/java/com/duqing/missions/base/activities/BaseTabActivity.java
@@ -7,7 +7,7 @@ import androidx.viewbinding.ViewBinding; import androidx.viewpager2.widget.ViewPager2; import com.duqing.missions.base.FragmentAdapter; import com.duqing.missions.base.adapter.FragmentAdapter; import com.duqing.missions.base.fragments.BaseFragment; import com.google.android.material.tabs.TabLayout; import com.google.android.material.tabs.TabLayoutMediator; app/src/main/java/com/duqing/missions/base/activity.java
File was deleted app/src/main/java/com/duqing/missions/base/adapter/BaseAdapter.java
File was renamed from app/src/main/java/com/duqing/missions/base/BaseAdapter.java @@ -1,4 +1,4 @@ package com.duqing.missions.base; package com.duqing.missions.base.adapter; import android.graphics.drawable.Drawable; import android.view.LayoutInflater; @@ -34,7 +34,6 @@ protected String nullTxt="暂无数据"; protected String TAG = "BaseAdapter"; protected A activity; protected LayoutNullBinding nullBinding; public BaseAdapter(){ } app/src/main/java/com/duqing/missions/base/adapter/FragmentAdapter.java
File was renamed from app/src/main/java/com/duqing/missions/base/FragmentAdapter.java @@ -1,4 +1,4 @@ package com.duqing.missions.base; package com.duqing.missions.base.adapter; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; app/src/main/java/com/duqing/missions/base/fragments/BaseLoadPageFragment.java
@@ -5,7 +5,7 @@ import androidx.recyclerview.widget.RecyclerView; import androidx.viewbinding.ViewBinding; import com.duqing.missions.base.BaseAdapter; import com.duqing.missions.base.adapter.BaseAdapter; import com.duqing.missions.base.model.BaseLoadPageViewModel; import com.duqing.missions.data.BasePageResult; import com.scwang.smart.refresh.footer.ClassicsFooter; app/src/main/java/com/duqing/missions/base/fragments/BaseTabFragment.java
@@ -4,7 +4,7 @@ import androidx.viewbinding.ViewBinding; import androidx.viewpager2.widget.ViewPager2; import com.duqing.missions.base.FragmentAdapter; import com.duqing.missions.base.adapter.FragmentAdapter; import com.google.android.material.tabs.TabLayout; import com.google.android.material.tabs.TabLayoutMediator; app/src/main/java/com/duqing/missions/ui/login/view/LoginActivity.java
@@ -16,26 +16,23 @@ import androidx.annotation.Nullable; import androidx.annotation.StringRes; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; import com.duqing.missions.R; import com.duqing.missions.base.activities.BaseTitleBarActivity; import com.duqing.missions.databinding.ActivityLoginBinding; public class LoginActivity extends BaseTitleBarActivity<ActivityLoginBinding> { public class LoginActivity extends BaseTitleBarActivity<ActivityLoginBinding,LoginViewModel> { private LoginViewModel loginViewModel; @Override public void initViews() { loginViewModel = new ViewModelProvider(this, new LoginViewModelFactory()).get(LoginViewModel.class); final EditText phoneEdit = binding.editPhone; final EditText passwordEditText = binding.editPassword; final Button loginButton = binding.login; loginViewModel.getLoginFormState().observe(this, new Observer<LoginFormState>() { viewModel.getLoginFormState().observe(this, new Observer<LoginFormState>() { @Override public void onChanged(@Nullable LoginFormState loginFormState) { if (loginFormState == null) { @@ -51,7 +48,7 @@ } }); loginViewModel.getLoginResult().observe(this, new Observer<LoginResult>() { viewModel.getLoginResult().observe(this, new Observer<LoginResult>() { @Override public void onChanged(@Nullable LoginResult loginResult) { if (loginResult == null) { @@ -103,7 +100,7 @@ @Override public void afterTextChanged(Editable s) { loginViewModel.loginDataChanged(phoneEdit.getText().toString(), viewModel.loginDataChanged(phoneEdit.getText().toString(), passwordEditText.getText().toString()); } }; @@ -114,7 +111,7 @@ @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (actionId == EditorInfo.IME_ACTION_DONE) { loginViewModel.login(phoneEdit.getText().toString(), viewModel.login(phoneEdit.getText().toString(), passwordEditText.getText().toString()); } return false; @@ -124,7 +121,7 @@ loginButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { loginViewModel.login(phoneEdit.getText().toString(), viewModel.login(phoneEdit.getText().toString(), passwordEditText.getText().toString()); } }); app/src/main/java/com/duqing/missions/ui/main/MainActivity.java
File was renamed from app/src/main/java/com/duqing/missions/MainActivity.java @@ -1,15 +1,16 @@ package com.duqing.missions; package com.duqing.missions.ui.main; import androidx.viewpager2.widget.ViewPager2; import com.duqing.missions.base.FragmentAdapter; import com.duqing.missions.R; import com.duqing.missions.base.adapter.FragmentAdapter; import com.duqing.missions.base.activities.BaseActivity; import com.duqing.missions.databinding.ActivityMainBinding; import com.duqing.missions.ui.main.hall.HallFragment; import com.duqing.missions.ui.main.home.HomeFragment; import com.duqing.missions.ui.main.mine.MineFragment; public class MainActivity extends BaseActivity<ActivityMainBinding> { public class MainActivity extends BaseActivity<ActivityMainBinding,MainViewModel> { @Override app/src/main/java/com/duqing/missions/ui/main/MainViewModel.java
New file @@ -0,0 +1,9 @@ package com.duqing.missions.ui.main; import androidx.lifecycle.ViewModel; /** * Created by Administrator on 2021/11/4 0004. */ public class MainViewModel extends ViewModel { } app/src/main/java/com/duqing/missions/ui/main/hall/HallFragment.java
@@ -3,10 +3,10 @@ import androidx.annotation.NonNull; import androidx.viewpager2.widget.ViewPager2; import com.duqing.missions.base.FragmentAdapter; import com.duqing.missions.base.adapter.FragmentAdapter; import com.duqing.missions.base.fragments.BaseFragment; import com.duqing.missions.base.fragments.BaseTabFragment; import com.duqing.missions.databinding.FragmentHallBinding; import com.duqing.missions.databinding.LayoutTabViewpagerBinding; import com.google.android.material.tabs.TabLayout; import com.google.android.material.tabs.TabLayoutMediator; @@ -14,7 +14,7 @@ import java.util.Arrays; import java.util.List; public class HallFragment extends BaseTabFragment<FragmentHallBinding,HallViewModel> { public class HallFragment extends BaseTabFragment<LayoutTabViewpagerBinding,HallViewModel> { @Override app/src/main/java/com/duqing/missions/ui/main/home/adapter/MissionAdapter.java
@@ -1,7 +1,7 @@ package com.duqing.missions.ui.main.home.adapter; import com.duqing.missions.MainActivity; import com.duqing.missions.base.BaseAdapter; import com.duqing.missions.ui.main.MainActivity; import com.duqing.missions.base.adapter.BaseAdapter; import com.duqing.missions.databinding.HomtItemRecommendBinding; import com.duqing.missions.ui.main.home.model.MissionDesc; app/src/main/java/com/duqing/missions/ui/main/home/adapter/MissionTopAdapter.java
@@ -1,7 +1,7 @@ package com.duqing.missions.ui.main.home.adapter; import com.duqing.missions.MainActivity; import com.duqing.missions.base.BaseAdapter; import com.duqing.missions.ui.main.MainActivity; import com.duqing.missions.base.adapter.BaseAdapter; import com.duqing.missions.databinding.HomeItemTopBinding; import com.duqing.missions.ui.main.home.model.MissionDesc;