diff --git a/app/build.gradle b/app/build.gradle index 487864b..4002cee 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,8 +16,8 @@ android { applicationId "com.uiui.zyos" minSdkVersion 24 targetSdkVersion 29 - versionCode 1 - versionName "1.0" + versionCode 2 + versionName "1.1" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -50,9 +50,9 @@ android { signingConfigs { mtk12 { - storeFile file("keystore/TeclastMTK12.jks") + storeFile file("keystore/tuixin.jks") storePassword "123456" - keyAlias "TeclastMTK12" + keyAlias "universal" keyPassword "123456" v2SigningEnabled false } @@ -154,7 +154,10 @@ dependencies { annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3' //MMKV implementation 'com.tencent:mmkv-static:1.2.14' + //腾讯移动推送 TPNS implementation 'com.tencent.tpns:tpns:1.3.7.0-release' + //阿里云推送 + implementation 'com.aliyun.ams:alicloud-android-push:3.8.0' //状态栏透明 implementation 'com.gitee.zackratos:UltimateBarX:0.8.0' //指示器 diff --git a/app/keystore/TeclastMTK12.jks b/app/keystore/TeclastMTK12.jks deleted file mode 100644 index 669cfa9..0000000 Binary files a/app/keystore/TeclastMTK12.jks and /dev/null differ diff --git a/app/keystore/tuixin.jks b/app/keystore/tuixin.jks new file mode 100644 index 0000000..d7ecbad Binary files /dev/null and b/app/keystore/tuixin.jks differ diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 26d5317..e4694dc 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -251,7 +251,7 @@ android:exported="true" tools:replace="android:exported" /> - + @@ -259,7 +259,8 @@ - + + + android:exported="false" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/uiui/zyos/activity/main/MainPresenter.java b/app/src/main/java/com/uiui/zyos/activity/main/MainAPresenter.java similarity index 76% rename from app/src/main/java/com/uiui/zyos/activity/main/MainPresenter.java rename to app/src/main/java/com/uiui/zyos/activity/main/MainAPresenter.java index f3c7cf9..5ddda4a 100644 --- a/app/src/main/java/com/uiui/zyos/activity/main/MainPresenter.java +++ b/app/src/main/java/com/uiui/zyos/activity/main/MainAPresenter.java @@ -7,8 +7,8 @@ import com.trello.rxlifecycle4.android.ActivityEvent; import io.reactivex.rxjava3.subjects.BehaviorSubject; -public class MainPresenter implements MainContact.Presenter { - private static final String TAG = MainPresenter.class.getSimpleName(); +public class MainAPresenter implements MainContact.Presenter { + private static final String TAG = MainAPresenter.class.getSimpleName(); private MainContact.MainView mView; private Context mContext; @@ -22,9 +22,9 @@ public class MainPresenter implements MainContact.Presenter { return lifecycle; } - MainPresenter(Context context) { + MainAPresenter(Context context) { this.mContext = context; - Log.e(TAG, "MainPresenter: " + context.getClass()); + Log.e(TAG, "MainAPresenter: " + context.getClass()); } @Override diff --git a/app/src/main/java/com/uiui/zyos/activity/main/MainActivity.java b/app/src/main/java/com/uiui/zyos/activity/main/MainActivity.java index 127d161..bb5ac6b 100644 --- a/app/src/main/java/com/uiui/zyos/activity/main/MainActivity.java +++ b/app/src/main/java/com/uiui/zyos/activity/main/MainActivity.java @@ -8,7 +8,6 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.pm.PackageManager; import android.content.res.Configuration; -import android.graphics.Color; import android.os.Bundle; import android.provider.Settings; import android.text.TextUtils; @@ -20,27 +19,16 @@ import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.viewpager.widget.ViewPager; -import com.flyco.tablayout.SlidingTabLayout; import com.tencent.mmkv.MMKV; -import com.uiui.zyos.BuildConfig; import com.uiui.zyos.R; import com.uiui.zyos.base.BaseActivity; import com.uiui.zyos.base.BaseFragmentPagerAdapter; -import com.uiui.zyos.config.CommonConfig; import com.uiui.zyos.dialog.PrivacyPolicyDialog; -import com.uiui.zyos.fragment.biology.BiologyFragment; -import com.uiui.zyos.fragment.chemical.ChemicalFragment; -import com.uiui.zyos.fragment.chinese.ChineseFragment; -import com.uiui.zyos.fragment.english.EnglishFragment; -import com.uiui.zyos.fragment.math.MathFragment; -import com.uiui.zyos.fragment.physics.PhysicsFragment; +import com.uiui.zyos.fragment.main.MainFragment; +import com.uiui.zyos.fragment.user.UserFragment; import com.uiui.zyos.service.NotificationService; import com.uiui.zyos.utils.HomeWatcher; import com.uiui.zyos.utils.ToastUtil; -import com.uiui.zyos.view.ScaleCircleNavigator; - -import net.lucode.hackware.magicindicator.MagicIndicator; -import net.lucode.hackware.magicindicator.ViewPagerHelper; import java.util.ArrayList; import java.util.List; @@ -51,29 +39,21 @@ import butterknife.ButterKnife; public class MainActivity extends BaseActivity implements MainContact.MainView { private static final String TAG = MainActivity.class.getSimpleName(); - @BindView(R.id.main_sliding_tab_layout) - SlidingTabLayout main_sliding_tab_layout; @BindView(R.id.viewPager) ViewPager mViewPager; - @BindView(R.id.magicIndicator) - MagicIndicator mMagicIndicator; - private MainPresenter mMainPresenter; + private MMKV mMMKV = MMKV.defaultMMKV(); - private ScaleCircleNavigator scaleCircleNavigator; + private MainAPresenter mMainAPresenter; + private HomeWatcher mHomeWatcher; private FragmentManager mFragmentManager; // private FragmentTransaction mFragmentTransaction; private BaseFragmentPagerAdapter mBaseFragmentPagerAdapter; - private List mFragments; - private int defaultCurrent = 0; - private String[] title = new String[]{"语文","数学","英语","物理","化学","生物","其他",}; + private int defaultCurrent = 1; - private MMKV mMMKV = MMKV.defaultMMKV(); - - private HomeWatcher mHomeWatcher; @Override public int getLayoutId() { @@ -84,9 +64,9 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { public void initView() { ButterKnife.bind(this); toggleNotificationListenerService(this); - mMainPresenter = new MainPresenter(this); - mMainPresenter.attachView(this); - mMainPresenter.setLifecycle(lifecycleSubject); + mMainAPresenter = new MainAPresenter(this); + mMainAPresenter.attachView(this); + mMainAPresenter.setLifecycle(lifecycleSubject); mFragmentManager = getSupportFragmentManager(); // mFragmentTransaction = mFragmentManager.beginTransaction(); @@ -95,39 +75,18 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { // fragmentTransaction.add(R.id.viewPager, appListFragment); // fragmentTransaction.commit(); - mFragments.add(new ChineseFragment()); - mFragments.add(new MathFragment()); - mFragments.add(new EnglishFragment()); - mFragments.add(new PhysicsFragment()); - mFragments.add(new ChemicalFragment()); - mFragments.add(new BiologyFragment()); - mFragments.add(new ChineseFragment()); - - scaleCircleNavigator = new ScaleCircleNavigator(this); - scaleCircleNavigator.setCircleCount(mFragments.size()); - scaleCircleNavigator.setNormalCircleColor(Color.DKGRAY); - scaleCircleNavigator.setSelectedCircleColor(Color.LTGRAY); - scaleCircleNavigator.setCircleClickListener(new ScaleCircleNavigator.OnCircleClickListener() { - @Override - public void onClick(int index) { - - } - }); - + mFragments.add(new UserFragment()); + mFragments.add(new MainFragment()); mViewPager.setAdapter(mBaseFragmentPagerAdapter); - mViewPager.setOffscreenPageLimit(4); - mMagicIndicator.setNavigator(scaleCircleNavigator); - ViewPagerHelper.bind(mMagicIndicator, mViewPager); - if (mFragments.size() > 1) { - mViewPager.setCurrentItem(defaultCurrent); - } - main_sliding_tab_layout.setViewPager(mViewPager,title); + mViewPager.setOffscreenPageLimit(1); + mViewPager.setCurrentItem(defaultCurrent); } + + @Override public void initData() { registmNewAppReceiver(); - registerSOSNumberReceiver(); registerUpdateDesktopReceiver(); } @@ -227,13 +186,10 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { @Override protected void onDestroy() { super.onDestroy(); - mMainPresenter.detachView(); + mMainAPresenter.detachView(); if (mNewAppReceiver != null) { unregisterReceiver(mNewAppReceiver); } - if (sosNumberReceiver != null) { - unregisterReceiver(sosNumberReceiver); - } if (updateDesktopReceiver != null) { unregisterReceiver(updateDesktopReceiver); } @@ -372,29 +328,6 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { } } - private SOSNumberReceiver sosNumberReceiver; - - private void registerSOSNumberReceiver() { - if (sosNumberReceiver == null) { - sosNumberReceiver = new SOSNumberReceiver(); - } - IntentFilter filter = new IntentFilter(); - filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY); - filter.addAction("setting_sos"); - registerReceiver(sosNumberReceiver, filter); - } - - static class SOSNumberReceiver extends BroadcastReceiver { - @Override - public void onReceive(Context context, Intent intent) { - Log.e(TAG, "onReceive: " + intent.getAction()); - String setting_sos = intent.getStringExtra("setting_sos"); - if (TextUtils.isEmpty(setting_sos)) { - return; - } - } - } - private UpdateDesktopReceiver updateDesktopReceiver; private void registerUpdateDesktopReceiver() { diff --git a/app/src/main/java/com/uiui/zyos/base/BaseApplication.java b/app/src/main/java/com/uiui/zyos/base/BaseApplication.java index 1c5615b..4f75013 100644 --- a/app/src/main/java/com/uiui/zyos/base/BaseApplication.java +++ b/app/src/main/java/com/uiui/zyos/base/BaseApplication.java @@ -6,6 +6,9 @@ import android.os.Handler; import android.os.Looper; import android.util.Log; +import com.alibaba.sdk.android.push.CloudPushService; +import com.alibaba.sdk.android.push.CommonCallback; +import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory; import com.arialyy.aria.core.Aria; import com.tencent.android.tpush.XGIOperateCallback; import com.tencent.android.tpush.XGPushConfig; @@ -15,6 +18,7 @@ import com.uiui.zyos.BuildConfig; import com.uiui.zyos.manager.ConnectManager; import com.uiui.zyos.manager.RemoteManager; import com.uiui.zyos.network.NetInterfaceManager; +import com.uiui.zyos.push.PushManager; import com.uiui.zyos.service.main.MainService; import com.uiui.zyos.utils.SystemUtils; import com.uiui.zyos.utils.Utils; @@ -41,8 +45,11 @@ public class BaseApplication extends Application { Aria.init(this); Aria.get(this).getDownloadConfig().setMaxTaskNum(1); Aria.get(this).getDownloadConfig().setConvertSpeed(true); + PushManager.init(this); tpushInit(); + aliyunPushInit(); RemoteManager.init(this); + RemoteManager.getInstance().aliyunPushInit(); ConnectManager.init(this); NetInterfaceManager.init(this); startService(new Intent(this, MainService.class)); @@ -57,7 +64,7 @@ public class BaseApplication extends Application { //token在设备卸载重装的时候有可能会变 Log.e("TPush", "注册成功,设备token为:" + data); List accountInfoList = new ArrayList<>(); - accountInfoList.add(new XGPushManager.AccountInfo(XGPushManager.AccountType.CUSTOM.getValue(), Utils.getSerial())); + accountInfoList.add(new XGPushManager.AccountInfo(XGPushManager.AccountType.CUSTOM.getValue(), RemoteManager.getInstance().getSerial())); XGPushManager.upsertAccounts(getApplicationContext(), accountInfoList, new XGIOperateCallback() { @Override public void onSuccess(Object data, int flag) { @@ -78,6 +85,23 @@ public class BaseApplication extends Application { }); } + public void aliyunPushInit() { + PushServiceFactory.init(this); + final CloudPushService pushService = PushServiceFactory.getCloudPushService(); + pushService.setLogLevel(CloudPushService.LOG_DEBUG); + pushService.register(this, new CommonCallback() { + @Override + public void onSuccess(String response) { + Log.e("AliyunPush", "init cloudchannel success"); + Log.e("AliyunPush", "init cloudchannel success " + pushService.getDeviceId()); + } + + @Override + public void onFailed(String errorCode, String errorMessage) { + Log.e("AliyunPush", "init cloudchannel failed -- errorcode:" + errorCode + " -- errorMessage:" + errorMessage); + } + }); + } private void catchException() { Thread.setDefaultUncaughtExceptionHandler( diff --git a/app/src/main/java/com/uiui/zyos/bean/UserAvatarInfo.java b/app/src/main/java/com/uiui/zyos/bean/UserAvatarInfo.java index babc434..8cb3b49 100644 --- a/app/src/main/java/com/uiui/zyos/bean/UserAvatarInfo.java +++ b/app/src/main/java/com/uiui/zyos/bean/UserAvatarInfo.java @@ -5,17 +5,19 @@ import java.io.Serializable; public class UserAvatarInfo implements Serializable { private static final long serialVersionUID = 7700643058775210597L; - String username; - String avatar; - String gread; int id; + String avatar; + String mobile; + String sn_name; + String class_name; + String username; - public String getUsername() { - return username; + public int getId() { + return id; } - public void setUsername(String username) { - this.username = username; + public void setId(int id) { + this.id = id; } public String getAvatar() { @@ -26,19 +28,35 @@ public class UserAvatarInfo implements Serializable { this.avatar = avatar; } - public String getGread() { - return gread; + public String getMobile() { + return mobile; } - public void setGread(String gread) { - this.gread = gread; + public void setMobile(String mobile) { + this.mobile = mobile; } - public int getId() { - return id; + public String getSn_name() { + return sn_name; } - public void setId(int id) { - this.id = id; + public void setSn_name(String sn_name) { + this.sn_name = sn_name; + } + + public String getClass_name() { + return class_name; + } + + public void setClass_name(String class_name) { + this.class_name = class_name; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; } } diff --git a/app/src/main/java/com/uiui/zyos/fragment/chinese/ChineseContact.java b/app/src/main/java/com/uiui/zyos/fragment/chinese/ChineseContact.java index 584b62e..7d7cfa0 100644 --- a/app/src/main/java/com/uiui/zyos/fragment/chinese/ChineseContact.java +++ b/app/src/main/java/com/uiui/zyos/fragment/chinese/ChineseContact.java @@ -5,11 +5,11 @@ import com.uiui.zyos.base.BasePresenter; import com.uiui.zyos.base.BaseView; public class ChineseContact { - public interface Presenter extends BasePresenter { + public interface Presenter extends BasePresenter { } - public interface CustomView extends BaseView { + public interface ChineseView extends BaseView { } } diff --git a/app/src/main/java/com/uiui/zyos/fragment/chinese/ChineseFragment.java b/app/src/main/java/com/uiui/zyos/fragment/chinese/ChineseFragment.java index 4f7f2df..44fa95d 100644 --- a/app/src/main/java/com/uiui/zyos/fragment/chinese/ChineseFragment.java +++ b/app/src/main/java/com/uiui/zyos/fragment/chinese/ChineseFragment.java @@ -20,7 +20,6 @@ import com.blankj.utilcode.util.NetworkUtils; import com.uiui.zyos.R; import com.uiui.zyos.base.BaseFragment; import com.uiui.zyos.manager.RemoteManager; -import com.uiui.zyos.tpush.MessageReceiver; import com.uiui.zyos.utils.Utils; import java.util.Calendar; @@ -34,7 +33,7 @@ import butterknife.ButterKnife; * Use the {@link ChineseFragment#newInstance} factory method to * create an instance of this fragment. */ -public class ChineseFragment extends BaseFragment implements ChineseContact.CustomView, NetworkUtils.OnNetworkStatusChangedListener { +public class ChineseFragment extends BaseFragment implements ChineseContact.ChineseView, NetworkUtils.OnNetworkStatusChangedListener { private static final String TAG = ChineseFragment.class.getSimpleName(); @@ -121,7 +120,6 @@ public class ChineseFragment extends BaseFragment implements ChineseContact.Cust private void initView() { Log.e(TAG, "initView: " + Utils.getBatteryLevel(mContext)); registerBatteryReceiver(); - registerAlarmClockReceiver(); registTimeReceiver(); mContext.registerReceiver(mbatteryReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); } @@ -149,26 +147,6 @@ public class ChineseFragment extends BaseFragment implements ChineseContact.Cust private void initAmap() { } - private void registerAlarmClockReceiver() { - if (null == mAlarmClockReceiver) { - mAlarmClockReceiver = new AlarmClockReceiver(); - } - IntentFilter filter = new IntentFilter(); - filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY); - filter.addAction(MessageReceiver.SET_ALARMCLOCK); - mContext.registerReceiver(mAlarmClockReceiver, filter); - } - - private AlarmClockReceiver mAlarmClockReceiver; - - private class AlarmClockReceiver extends BroadcastReceiver { - @Override - public void onReceive(Context context, Intent intent) { - String action = intent.getAction(); - Log.e(TAG, "onReceive: " + action); - } - } - private void registerBatteryReceiver() { if (null == batteryReceiver) { batteryReceiver = new BatteryReceiver(); @@ -286,9 +264,6 @@ public class ChineseFragment extends BaseFragment implements ChineseContact.Cust if (mbatteryReceiver != null) { mContext.unregisterReceiver(mbatteryReceiver); } - if (mAlarmClockReceiver != null) { - mContext.unregisterReceiver(mAlarmClockReceiver); - } unRegistTimeReceiver(); } } diff --git a/app/src/main/java/com/uiui/zyos/fragment/chinese/ChinesePresenter.java b/app/src/main/java/com/uiui/zyos/fragment/chinese/ChinesePresenter.java index e5c34b0..8b11e49 100644 --- a/app/src/main/java/com/uiui/zyos/fragment/chinese/ChinesePresenter.java +++ b/app/src/main/java/com/uiui/zyos/fragment/chinese/ChinesePresenter.java @@ -10,7 +10,7 @@ import io.reactivex.rxjava3.subjects.BehaviorSubject; public class ChinesePresenter implements ChineseContact.Presenter { private static final String TAG = ChinesePresenter.class.getSimpleName(); private Context mContext; - private ChineseContact.CustomView mView; + private ChineseContact.ChineseView mView; public ChinesePresenter(Context context) { this.mContext = context; @@ -27,7 +27,7 @@ public class ChinesePresenter implements ChineseContact.Presenter { } @Override - public void attachView(@NonNull ChineseContact.CustomView view) { + public void attachView(@NonNull ChineseContact.ChineseView view) { this.mView = view; } diff --git a/app/src/main/java/com/uiui/zyos/fragment/main/MainContact.java b/app/src/main/java/com/uiui/zyos/fragment/main/MainContact.java new file mode 100644 index 0000000..1609efd --- /dev/null +++ b/app/src/main/java/com/uiui/zyos/fragment/main/MainContact.java @@ -0,0 +1,14 @@ +package com.uiui.zyos.fragment.main; + +import com.uiui.zyos.base.BasePresenter; +import com.uiui.zyos.base.BaseView; + +public class MainContact { + public interface Presenter extends BasePresenter { + + } + + public interface MainView extends BaseView { + + } +} diff --git a/app/src/main/java/com/uiui/zyos/fragment/main/MainFPresenter.java b/app/src/main/java/com/uiui/zyos/fragment/main/MainFPresenter.java new file mode 100644 index 0000000..90d1bef --- /dev/null +++ b/app/src/main/java/com/uiui/zyos/fragment/main/MainFPresenter.java @@ -0,0 +1,39 @@ +package com.uiui.zyos.fragment.main; + +import android.content.Context; + +import com.trello.rxlifecycle4.android.FragmentEvent; + +import io.reactivex.rxjava3.annotations.NonNull; +import io.reactivex.rxjava3.subjects.BehaviorSubject; + +public class MainFPresenter implements MainContact.Presenter { + private static final String TAG = MainFPresenter.class.getSimpleName(); + private Context mContext; + private MainContact.MainView mView; + + public MainFPresenter(Context context) { + this.mContext = context; + } + + private BehaviorSubject lifecycle; + + void setLifecycle(BehaviorSubject lifecycle) { + this.lifecycle = lifecycle; + } + + public BehaviorSubject getLifecycle() { + return lifecycle; + } + + @Override + public void attachView(@NonNull MainContact.MainView view) { + this.mView = view; + } + + @Override + public void detachView() { + this.mView = null; + } + +} diff --git a/app/src/main/java/com/uiui/zyos/fragment/main/MainFragment.java b/app/src/main/java/com/uiui/zyos/fragment/main/MainFragment.java new file mode 100644 index 0000000..0631e16 --- /dev/null +++ b/app/src/main/java/com/uiui/zyos/fragment/main/MainFragment.java @@ -0,0 +1,159 @@ +package com.uiui.zyos.fragment.main; + +import android.app.Activity; +import android.graphics.Color; +import android.os.Bundle; + +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; +import androidx.fragment.app.FragmentManager; +import androidx.viewpager.widget.ViewPager; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.flyco.tablayout.SlidingTabLayout; +import com.uiui.zyos.R; +import com.uiui.zyos.base.BaseFragment; +import com.uiui.zyos.base.BaseFragmentPagerAdapter; +import com.uiui.zyos.fragment.biology.BiologyFragment; +import com.uiui.zyos.fragment.chemical.ChemicalFragment; +import com.uiui.zyos.fragment.chinese.ChineseFragment; +import com.uiui.zyos.fragment.english.EnglishFragment; +import com.uiui.zyos.fragment.math.MathFragment; +import com.uiui.zyos.fragment.physics.PhysicsFragment; +import com.uiui.zyos.view.ScaleCircleNavigator; + +import net.lucode.hackware.magicindicator.MagicIndicator; +import net.lucode.hackware.magicindicator.ViewPagerHelper; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; +import butterknife.ButterKnife; + +/** + * A simple {@link Fragment} subclass. + * Use the {@link MainFragment#newInstance} factory method to + * create an instance of this fragment. + */ +public class MainFragment extends BaseFragment implements MainContact.MainView { + + @BindView(R.id.main_sliding_tab_layout) + SlidingTabLayout main_sliding_tab_layout; + @BindView(R.id.viewPager) + ViewPager mViewPager; + @BindView(R.id.magicIndicator) + MagicIndicator mMagicIndicator; + + private MainFPresenter mPresenter; + + private View rootView; + private FragmentActivity mContext; + private ScaleCircleNavigator scaleCircleNavigator; + private FragmentManager mFragmentManager; + // private FragmentTransaction mFragmentTransaction; + private BaseFragmentPagerAdapter mBaseFragmentPagerAdapter; + private List mFragments; + private int defaultCurrent = 0; + private String[] title = new String[]{"语文", "数学", "英语", "物理", "化学", "生物", "其他",}; + + // TODO: Rename parameter arguments, choose names that match + // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER + private static final String ARG_PARAM1 = "param1"; + private static final String ARG_PARAM2 = "param2"; + + // TODO: Rename and change types of parameters + private String mParam1; + private String mParam2; + + public MainFragment() { + // Required empty public constructor + } + + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment MainFragment. + */ + // TODO: Rename and change types and number of parameters + public static MainFragment newInstance(String param1, String param2) { + MainFragment fragment = new MainFragment(); + Bundle args = new Bundle(); + args.putString(ARG_PARAM1, param1); + args.putString(ARG_PARAM2, param2); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (getArguments() != null) { + mParam1 = getArguments().getString(ARG_PARAM1); + mParam2 = getArguments().getString(ARG_PARAM2); + } + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + rootView = inflater.inflate(R.layout.fragment_main, container, false); + mContext = (FragmentActivity) rootView.getContext(); + mPresenter = new MainFPresenter(mContext); + ButterKnife.bind(this, rootView); + initView(); + return rootView; + } + + @Override + public void fetchData() { + initData(); + } + + private void initView() { + mFragmentManager = getChildFragmentManager(); +// mFragmentTransaction = mFragmentManager.beginTransaction(); + mFragments = new ArrayList<>(); + mBaseFragmentPagerAdapter = new BaseFragmentPagerAdapter(mFragmentManager, mFragments); +// fragmentTransaction.add(R.id.viewPager, appListFragment); +// fragmentTransaction.commit(); + mFragments.add(new ChineseFragment()); + mFragments.add(new MathFragment()); + mFragments.add(new EnglishFragment()); + mFragments.add(new PhysicsFragment()); + mFragments.add(new ChemicalFragment()); + mFragments.add(new BiologyFragment()); + mFragments.add(new ChineseFragment()); + + scaleCircleNavigator = new ScaleCircleNavigator(mContext); + scaleCircleNavigator.setCircleCount(mFragments.size()); + scaleCircleNavigator.setNormalCircleColor(Color.DKGRAY); + scaleCircleNavigator.setSelectedCircleColor(Color.LTGRAY); + scaleCircleNavigator.setCircleClickListener(new ScaleCircleNavigator.OnCircleClickListener() { + @Override + public void onClick(int index) { + + } + }); + + mViewPager.setAdapter(mBaseFragmentPagerAdapter); + mViewPager.setOffscreenPageLimit(4); + mMagicIndicator.setNavigator(scaleCircleNavigator); + ViewPagerHelper.bind(mMagicIndicator, mViewPager); + if (mFragments.size() > 1) { + mViewPager.setCurrentItem(defaultCurrent); + } + main_sliding_tab_layout.setViewPager(mViewPager, title); + } + + private void initData() { + + } +} diff --git a/app/src/main/java/com/uiui/zyos/fragment/user/UserFragment.java b/app/src/main/java/com/uiui/zyos/fragment/user/UserFragment.java new file mode 100644 index 0000000..72083ce --- /dev/null +++ b/app/src/main/java/com/uiui/zyos/fragment/user/UserFragment.java @@ -0,0 +1,65 @@ +package com.uiui.zyos.fragment.user; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.uiui.zyos.R; + +/** + * A simple {@link Fragment} subclass. + * Use the {@link UserFragment#newInstance} factory method to + * create an instance of this fragment. + */ +public class UserFragment extends Fragment { + // TODO: Rename parameter arguments, choose names that match + // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER + private static final String ARG_PARAM1 = "param1"; + private static final String ARG_PARAM2 = "param2"; + + // TODO: Rename and change types of parameters + private String mParam1; + private String mParam2; + + public UserFragment() { + // Required empty public constructor + } + + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment UserFragment. + */ + // TODO: Rename and change types and number of parameters + public static UserFragment newInstance(String param1, String param2) { + UserFragment fragment = new UserFragment(); + Bundle args = new Bundle(); + args.putString(ARG_PARAM1, param1); + args.putString(ARG_PARAM2, param2); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (getArguments() != null) { + mParam1 = getArguments().getString(ARG_PARAM1); + mParam2 = getArguments().getString(ARG_PARAM2); + } + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_user, container, false); + } +} diff --git a/app/src/main/java/com/uiui/zyos/manager/RemoteManager.java b/app/src/main/java/com/uiui/zyos/manager/RemoteManager.java index 19f6c0b..06d16ce 100644 --- a/app/src/main/java/com/uiui/zyos/manager/RemoteManager.java +++ b/app/src/main/java/com/uiui/zyos/manager/RemoteManager.java @@ -9,6 +9,9 @@ import android.os.IBinder; import android.text.TextUtils; import android.util.Log; +import com.alibaba.sdk.android.push.CloudPushService; +import com.alibaba.sdk.android.push.CommonCallback; +import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.tencent.mmkv.MMKV; @@ -45,6 +48,7 @@ public class RemoteManager { mGetInfoInterface = IGetInfoInterface.Stub.asInterface(service); getLocation(); Log.e(TAG, "onServiceConnected: " + getSerial()); + aliyunPushInit(); } @Override @@ -72,6 +76,36 @@ public class RemoteManager { return sInstance; } + public void aliyunPushInit() { + CloudPushService pushService = PushServiceFactory.getCloudPushService(); + String account = getSerial(); + pushService.bindAccount(account, new CommonCallback() { + @Override + public void onSuccess(String s) { + Log.e("AliyunPush", "bind account " + account + " success\n"); + } + + @Override + public void onFailed(String errorCode, String errorMsg) { + Log.e("AliyunPush", "bind account " + account + " failed." + + "errorCode: " + errorCode + ", errorMsg:" + errorMsg); + } + }); + String alias = getSerial(); + pushService.addAlias(account, new CommonCallback() { + @Override + public void onSuccess(String s) { + Log.e("AliyunPush", "add alias " + alias + " success\n"); + } + + @Override + public void onFailed(String errorCode, String errorMsg) { + Log.e("AliyunPush", "add alias " + alias + " failed." + + "errorCode: " + errorCode + ", errorMsg:" + errorMsg + "\n"); + } + }); + } + private void bindInfoService() { if (mGetInfoInterface == null) { //这是连接aidl服务的代码 @@ -96,7 +130,7 @@ public class RemoteManager { } else { bindInfoService(); } - return "unknown"; + return ""; } public void getLocation() { diff --git a/app/src/main/java/com/uiui/zyos/network/UrlAddress.java b/app/src/main/java/com/uiui/zyos/network/UrlAddress.java index 942cfc4..a508315 100644 --- a/app/src/main/java/com/uiui/zyos/network/UrlAddress.java +++ b/app/src/main/java/com/uiui/zyos/network/UrlAddress.java @@ -1,7 +1,10 @@ package com.uiui.zyos.network; public class UrlAddress { - public static final String ROOT_URL = "https://led.zuoyepad.com/android/"; - + public static final String ROOT_URL = "https://led.aolelearn.com/android/"; + /*设备信息接口*/ + public static final String SNINFO = "sn/getSnInfo"; + /*获取用户头像和信息*/ + public static final String GET_USER_AVATAR_INFO = "sn/getUserAvatarInfo"; } diff --git a/app/src/main/java/com/uiui/zyos/network/api/SNInfoApi.java b/app/src/main/java/com/uiui/zyos/network/api/SNInfoApi.java new file mode 100644 index 0000000..cd85d0d --- /dev/null +++ b/app/src/main/java/com/uiui/zyos/network/api/SNInfoApi.java @@ -0,0 +1,16 @@ +package com.uiui.zyos.network.api; + +import com.uiui.zyos.bean.BaseResponse; +import com.uiui.zyos.bean.SnInfo; +import com.uiui.zyos.network.UrlAddress; + +import io.reactivex.rxjava3.core.Observable; +import retrofit2.http.GET; +import retrofit2.http.Query; + +public interface SNInfoApi { + @GET(UrlAddress.SNINFO) + Observable> getsninfo( + @Query("sn") String sn + ); +} diff --git a/app/src/main/java/com/uiui/zyos/network/api/UserInfoControl.java b/app/src/main/java/com/uiui/zyos/network/api/UserInfoControl.java new file mode 100644 index 0000000..c346819 --- /dev/null +++ b/app/src/main/java/com/uiui/zyos/network/api/UserInfoControl.java @@ -0,0 +1,18 @@ +package com.uiui.zyos.network.api; + +import com.uiui.zyos.bean.BaseResponse; +import com.uiui.zyos.bean.UserAvatarInfo; +import com.uiui.zyos.network.UrlAddress; + +import io.reactivex.rxjava3.core.Observable; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.POST; + +public interface UserInfoControl { + @FormUrlEncoded + @POST(UrlAddress.GET_USER_AVATAR_INFO) + Observable> getUserAvatarInfo( + @Field("sn") String sn + ); +} diff --git a/app/src/main/java/com/uiui/zyos/push/PushManager.java b/app/src/main/java/com/uiui/zyos/push/PushManager.java new file mode 100644 index 0000000..702587a --- /dev/null +++ b/app/src/main/java/com/uiui/zyos/push/PushManager.java @@ -0,0 +1,60 @@ +package com.uiui.zyos.push; + +import android.annotation.SuppressLint; +import android.content.ContentResolver; +import android.content.Context; +import android.content.Intent; + +import com.uiui.zyos.disklrucache.CacheHelper; +import com.uiui.zyos.utils.ToastUtil; + +public class PushManager { + private static final String TAG = PushManager.class.getSimpleName(); + + public static final String SET_ALARMCLOCK = "zuoyeos.action.change.alarmclaock"; + + + @SuppressLint("StaticFieldLeak") + private static PushManager sInstance; + private Context mContext; + private ContentResolver mResolver; + private CacheHelper mCacheHelper; + + private PushManager(Context context) { + if (context == null) { + throw new RuntimeException("Context is NULL"); + } + this.mContext = context; + this.mResolver = context.getContentResolver(); + this.mCacheHelper = new CacheHelper(context); + } + + public static void init(Context context) { + if (sInstance == null) { + sInstance = new PushManager(context); + } + } + + public static PushManager getInstance() { + if (sInstance == null) { + throw new IllegalStateException("You must be init PushManager first"); + } + return sInstance; + } + + //闹钟 + private static final String JIGUANG_ALARM_CLOCK = "57"; + + public void setPushContent(String title, String extras) { + switch (title) { + case JIGUANG_ALARM_CLOCK: + ToastUtil.betaShow("收到推送消息: 设置闹钟"); + Intent intent = new Intent(SET_ALARMCLOCK); + mContext.sendBroadcast(intent); + break; + default: + } + } + + +} diff --git a/app/src/main/java/com/uiui/zyos/push/alipush/AliMessageIntentService.java b/app/src/main/java/com/uiui/zyos/push/alipush/AliMessageIntentService.java new file mode 100644 index 0000000..892f198 --- /dev/null +++ b/app/src/main/java/com/uiui/zyos/push/alipush/AliMessageIntentService.java @@ -0,0 +1,99 @@ +package com.uiui.zyos.push.alipush; + +import android.content.Context; +import android.util.Log; + +import com.alibaba.sdk.android.push.AliyunMessageIntentService; +import com.alibaba.sdk.android.push.notification.CPushMessage; + +import java.util.Map; + +/** + * Created by liyazhou on 17/8/22. + * 为避免推送广播被系统拦截的小概率事件,我们推荐用户通过IntentService处理消息互调,接入步骤: + * 1. 创建IntentService并继承AliyunMessageIntentService + * 2. 覆写相关方法,并在Manifest的注册该Service + * 3. 调用接口CloudPushService.setPushIntentService + * 详细用户可参考:https://help.aliyun.com/document_detail/30066.html#h2-2-messagereceiver-aliyunmessageintentservice + */ + +public class AliMessageIntentService extends AliyunMessageIntentService { + private static final String TAG = AliyunMessageIntentService.class.getSimpleName(); + + /** + * 推送通知的回调方法 + * + * @param context + * @param title + * @param summary + * @param extraMap + */ + @Override + protected void onNotification(Context context, String title, String summary, Map extraMap) { + Log.i(TAG, "收到一条推送通知 : " + title + ", summary:" + summary); + } + + /** + * 推送消息的回调方法 + * + * @param context + * @param cPushMessage + */ + @Override + protected void onMessage(Context context, CPushMessage cPushMessage) { + Log.i(TAG, "收到一条推送消息 : " + cPushMessage.getTitle() + ", content:" + cPushMessage.getContent()); + } + + /** + * 从通知栏打开通知的扩展处理 + * + * @param context + * @param title + * @param summary + * @param extraMap + */ + @Override + protected void onNotificationOpened(Context context, String title, String summary, String extraMap) { + Log.i(TAG, "onNotificationOpened : " + " : " + title + " : " + summary + " : " + extraMap); + } + + /** + * 无动作通知点击回调。当在后台或阿里云控制台指定的通知动作为无逻辑跳转时,通知点击回调为onNotificationClickedWithNoAction而不是onNotificationOpened + * + * @param context + * @param title + * @param summary + * @param extraMap + */ + @Override + protected void onNotificationClickedWithNoAction(Context context, String title, String summary, String extraMap) { + Log.i(TAG, "onNotificationClickedWithNoAction : " + " : " + title + " : " + summary + " : " + extraMap); + } + + /** + * 通知删除回调 + * + * @param context + * @param messageId + */ + @Override + protected void onNotificationRemoved(Context context, String messageId) { + Log.i(TAG, "onNotificationRemoved : " + messageId); + } + + /** + * 应用处于前台时通知到达回调。注意:该方法仅对自定义样式通知有效,相关详情请参考https://help.aliyun.com/document_detail/30066.html#h3-3-4-basiccustompushnotification-api + * + * @param context + * @param title + * @param summary + * @param extraMap + * @param openType + * @param openActivity + * @param openUrl + */ + @Override + protected void onNotificationReceivedInApp(Context context, String title, String summary, Map extraMap, int openType, String openActivity, String openUrl) { + Log.i(TAG, "onNotificationReceivedInApp : " + " : " + title + " : " + summary + " " + extraMap + " : " + openType + " : " + openActivity + " : " + openUrl); + } +} diff --git a/app/src/main/java/com/uiui/zyos/push/alipush/AliyunMessageReceiver.java b/app/src/main/java/com/uiui/zyos/push/alipush/AliyunMessageReceiver.java new file mode 100644 index 0000000..9278c24 --- /dev/null +++ b/app/src/main/java/com/uiui/zyos/push/alipush/AliyunMessageReceiver.java @@ -0,0 +1,116 @@ +package com.uiui.zyos.push.alipush; + +import android.content.Context; +import android.util.Log; + +import com.alibaba.sdk.android.push.MessageReceiver; +import com.alibaba.sdk.android.push.notification.CPushMessage; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import com.uiui.zyos.push.PushManager; + +import java.util.Map; + +/** + * @author: 正纬 + * @since: 15/4/9 + * @version: 1.1 + * @feature: 用于接收推送的通知和消息 + */ +public class AliyunMessageReceiver extends MessageReceiver { + // 消息接收部分的LOG_TAG + public static final String TAG = AliyunMessageReceiver.class.getSimpleName(); + + /** + * 推送通知的回调方法 + * + * @param context + * @param title + * @param summary + * @param extraMap + */ + @Override + public void onNotification(Context context, String title, String summary, Map extraMap) { + // TODO 处理推送通知 + if (null != extraMap) { + for (Map.Entry entry : extraMap.entrySet()) { + Log.i(TAG, "@Get diy param : Key=" + entry.getKey() + " , Value=" + entry.getValue()); + } + } else { + Log.i(TAG, "@收到通知 && 自定义消息为空"); + } + Log.i(TAG, "收到一条推送通知 : " + title + ", summary:" + summary); + } + + /** + * 应用处于前台时通知到达回调。注意:该方法仅对自定义样式通知有效,相关详情请参考https://help.aliyun.com/document_detail/30066.html?spm=5176.product30047.6.620.wjcC87#h3-3-4-basiccustompushnotification-api + * + * @param context + * @param title + * @param summary + * @param extraMap + * @param openType + * @param openActivity + * @param openUrl + */ + @Override + protected void onNotificationReceivedInApp(Context context, String title, String summary, Map extraMap, int openType, String openActivity, String openUrl) { + Log.i(TAG, "onNotificationReceivedInApp : " + " : " + title + " : " + summary + " " + extraMap + " : " + openType + " : " + openActivity + " : " + openUrl); + } + + /** + * 推送消息的回调方法 + * + * @param context + * @param cPushMessage + */ + @Override + public void onMessage(Context context, CPushMessage cPushMessage) { + Log.e(TAG, "收到一条推送消息 : " + cPushMessage.getTitle() + ", content:" + cPushMessage.getContent()); + String title = cPushMessage.getTitle(); + String content = cPushMessage.getContent(); + JsonObject extrasJson = JsonParser.parseString(content).getAsJsonObject(); + String extras = ""; + if (extrasJson.get("extras") != null) { + extras = extrasJson.get("extras").toString(); + } + PushManager.getInstance().setPushContent(title, extras); + } + + /** + * 从通知栏打开通知的扩展处理 + * + * @param context + * @param title + * @param summary + * @param extraMap + */ + @Override + public void onNotificationOpened(Context context, String title, String summary, String extraMap) { + Log.i(TAG, "onNotificationOpened : " + " : " + title + " : " + summary + " : " + extraMap); + } + + /** + * 通知删除回调 + * + * @param context + * @param messageId + */ + @Override + public void onNotificationRemoved(Context context, String messageId) { + Log.i(TAG, "onNotificationRemoved : " + messageId); + } + + /** + * 无动作通知点击回调。当在后台或阿里云控制台指定的通知动作为无逻辑跳转时,通知点击回调为onNotificationClickedWithNoAction而不是onNotificationOpened + * + * @param context + * @param title + * @param summary + * @param extraMap + */ + @Override + protected void onNotificationClickedWithNoAction(Context context, String title, String summary, String extraMap) { + Log.i(TAG, "onNotificationClickedWithNoAction : " + " : " + title + " : " + summary + " : " + extraMap); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/uiui/zyos/tpush/Constants.java b/app/src/main/java/com/uiui/zyos/push/tpush/Constants.java similarity index 93% rename from app/src/main/java/com/uiui/zyos/tpush/Constants.java rename to app/src/main/java/com/uiui/zyos/push/tpush/Constants.java index 4a0ed25..82b2a09 100644 --- a/app/src/main/java/com/uiui/zyos/tpush/Constants.java +++ b/app/src/main/java/com/uiui/zyos/push/tpush/Constants.java @@ -1,4 +1,4 @@ -package com.uiui.zyos.tpush; +package com.uiui.zyos.push.tpush; /** * Created by chacewang on 2019/7/5. diff --git a/app/src/main/java/com/uiui/zyos/tpush/MessageReceiver.java b/app/src/main/java/com/uiui/zyos/push/tpush/MessageReceiver.java similarity index 94% rename from app/src/main/java/com/uiui/zyos/tpush/MessageReceiver.java rename to app/src/main/java/com/uiui/zyos/push/tpush/MessageReceiver.java index e3a4b27..543b7a9 100644 --- a/app/src/main/java/com/uiui/zyos/tpush/MessageReceiver.java +++ b/app/src/main/java/com/uiui/zyos/push/tpush/MessageReceiver.java @@ -1,4 +1,4 @@ -package com.uiui.zyos.tpush; +package com.uiui.zyos.push.tpush; import android.content.ContentResolver; import android.content.Context; @@ -16,9 +16,9 @@ import com.tencent.android.tpush.XGPushClickedResult; import com.tencent.android.tpush.XGPushRegisterResult; import com.tencent.android.tpush.XGPushShowedResult; import com.tencent.android.tpush.XGPushTextMessage; -import com.uiui.zyos.network.NetInterfaceManager; -import com.uiui.zyos.tpush.common.NotificationService; -import com.uiui.zyos.tpush.po.XGNotification; +import com.uiui.zyos.push.PushManager; +import com.uiui.zyos.push.tpush.common.NotificationService; +import com.uiui.zyos.push.tpush.po.XGNotification; import com.uiui.zyos.utils.ToastUtil; import java.text.SimpleDateFormat; @@ -31,7 +31,6 @@ public class MessageReceiver extends XGPushBaseReceiver { public static final String TEST_ACTION = "com.qq.xgdemo.activity.TEST_ACTION"; public static final String LogTag = "xg.test"; - public static final String SET_ALARMCLOCK = "zuoyeos.action.change.alarmclaock"; private Context mContext; private ContentResolver mResolver; @@ -215,7 +214,6 @@ public class MessageReceiver extends XGPushBaseReceiver { context.sendBroadcast(testIntent); } - /** * 删除账号回调 * @@ -289,9 +287,6 @@ public class MessageReceiver extends XGPushBaseReceiver { // Toast.makeText(context, text, Toast.LENGTH_SHORT).show(); } - //闹钟 - private static final String JIGUANG_ALARM_CLOCK = "57"; - private void processCustomMessage(Context context, XGPushTextMessage message) { if (context == null || message == null) { return; @@ -305,14 +300,6 @@ public class MessageReceiver extends XGPushBaseReceiver { if (extrasJson.get("extras") != null) { extras = extrasJson.get("extras").toString(); } - - switch (title) { - case JIGUANG_ALARM_CLOCK: - ToastUtil.betaShow("收到推送消息: 设置闹钟"); - Intent intent = new Intent(SET_ALARMCLOCK); - mContext.sendBroadcast(intent); - break; - default: - } + PushManager.getInstance().setPushContent(title, extras); } } diff --git a/app/src/main/java/com/uiui/zyos/tpush/common/DBOpenHelper.java b/app/src/main/java/com/uiui/zyos/push/tpush/common/DBOpenHelper.java similarity index 93% rename from app/src/main/java/com/uiui/zyos/tpush/common/DBOpenHelper.java rename to app/src/main/java/com/uiui/zyos/push/tpush/common/DBOpenHelper.java index b7b3ca0..a5c0569 100644 --- a/app/src/main/java/com/uiui/zyos/tpush/common/DBOpenHelper.java +++ b/app/src/main/java/com/uiui/zyos/push/tpush/common/DBOpenHelper.java @@ -1,4 +1,4 @@ -package com.uiui.zyos.tpush.common; +package com.uiui.zyos.push.tpush.common; import android.content.Context; import android.database.sqlite.SQLiteDatabase; diff --git a/app/src/main/java/com/uiui/zyos/tpush/common/NotificationService.java b/app/src/main/java/com/uiui/zyos/push/tpush/common/NotificationService.java similarity index 98% rename from app/src/main/java/com/uiui/zyos/tpush/common/NotificationService.java rename to app/src/main/java/com/uiui/zyos/push/tpush/common/NotificationService.java index 58e0b55..e8adde5 100644 --- a/app/src/main/java/com/uiui/zyos/tpush/common/NotificationService.java +++ b/app/src/main/java/com/uiui/zyos/push/tpush/common/NotificationService.java @@ -1,4 +1,4 @@ -package com.uiui.zyos.tpush.common; +package com.uiui.zyos.push.tpush.common; import android.content.ContentValues; import android.content.Context; @@ -6,7 +6,7 @@ import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; -import com.uiui.zyos.tpush.po.XGNotification; +import com.uiui.zyos.push.tpush.po.XGNotification; import java.util.ArrayList; import java.util.List; diff --git a/app/src/main/java/com/uiui/zyos/tpush/po/XGNotification.java b/app/src/main/java/com/uiui/zyos/push/tpush/po/XGNotification.java similarity index 97% rename from app/src/main/java/com/uiui/zyos/tpush/po/XGNotification.java rename to app/src/main/java/com/uiui/zyos/push/tpush/po/XGNotification.java index 9c6eef2..a5641d2 100644 --- a/app/src/main/java/com/uiui/zyos/tpush/po/XGNotification.java +++ b/app/src/main/java/com/uiui/zyos/push/tpush/po/XGNotification.java @@ -1,4 +1,4 @@ -package com.uiui.zyos.tpush.po; +package com.uiui.zyos.push.tpush.po; public class XGNotification { private Integer id; diff --git a/app/src/main/java/com/uiui/zyos/utils/Utils.java b/app/src/main/java/com/uiui/zyos/utils/Utils.java index 9e54885..1d09f72 100644 --- a/app/src/main/java/com/uiui/zyos/utils/Utils.java +++ b/app/src/main/java/com/uiui/zyos/utils/Utils.java @@ -30,30 +30,30 @@ public class Utils { /** * 获取设备序列号 * - * @return - */ - @SuppressLint("MissingPermission") - public static String getSerial() { - String serial = "unknow"; - try { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {//9.0+ - serial = Build.getSerial(); - } else if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N) {//8.0+ - serial = Build.SERIAL; - } else {//8.0- - Class c = Class.forName("android.os.SystemProperties"); - Method get = c.getMethod("get", String.class); - serial = (String) get.invoke(c, "ro.serialno"); - } - } catch (Exception e) { - e.printStackTrace(); - Log.e("e", "读取设备序列号异常:" + e.toString()); - } - if (BuildConfig.DEBUG) { -// return "QNG2DKB00463"; - } - return serial; - } +// * @return +// */ +// @SuppressLint("MissingPermission") +// public static String getSerial() { +// String serial = "unknow"; +// try { +// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {//9.0+ +// serial = Build.getSerial(); +// } else if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N) {//8.0+ +// serial = Build.SERIAL; +// } else {//8.0- +// Class c = Class.forName("android.os.SystemProperties"); +// Method get = c.getMethod("get", String.class); +// serial = (String) get.invoke(c, "ro.serialno"); +// } +// } catch (Exception e) { +// e.printStackTrace(); +// Log.e("e", "读取设备序列号异常:" + e.toString()); +// } +// if (BuildConfig.DEBUG) { +//// return "QNG2DKB00463"; +// } +// return serial; +// } public static String getDeviceSN() { String serial = null; diff --git a/app/src/main/res/drawable-hdpi/default_avatar.png b/app/src/main/res/drawable-hdpi/default_avatar.png new file mode 100644 index 0000000..2c8bb94 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/default_avatar.png differ diff --git a/app/src/main/res/layout-land/activity_main.xml b/app/src/main/res/layout-land/activity_main.xml index b2332fe..c2b3ebd 100644 --- a/app/src/main/res/layout-land/activity_main.xml +++ b/app/src/main/res/layout-land/activity_main.xml @@ -7,292 +7,12 @@ android:background="@drawable/main_background" tools:context=".activity.main.MainActivity"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> \ No newline at end of file diff --git a/app/src/main/res/layout-land/fragment_main.xml b/app/src/main/res/layout-land/fragment_main.xml new file mode 100644 index 0000000..ca48831 --- /dev/null +++ b/app/src/main/res/layout-land/fragment_main.xml @@ -0,0 +1,302 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout-land/fragment_user.xml b/app/src/main/res/layout-land/fragment_user.xml new file mode 100644 index 0000000..48cfdb3 --- /dev/null +++ b/app/src/main/res/layout-land/fragment_user.xml @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout-port/activity_main.xml b/app/src/main/res/layout-port/activity_main.xml index dd6ee48..72c1894 100644 --- a/app/src/main/res/layout-port/activity_main.xml +++ b/app/src/main/res/layout-port/activity_main.xml @@ -6,36 +6,12 @@ android:layout_height="match_parent" tools:context=".activity.main.MainActivity"> - - - - + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png index b924a46..1144759 100644 Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher.png and b/app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/ic_launcher.png index b924a46..1144759 100644 Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher.png and b/app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png index b924a46..1144759 100644 Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index b924a46..1144759 100644 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index b924a46..1144759 100644 Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 90ab9f2..95170af 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,13 +1,14 @@ 学习桌面 - - Hello blank fragment - 隐私协议 服务协议和隐私政策 请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了向你提供即时通讯,内容分享等服务, 我们需要收集你的设备信息、操作日志等个人信息。你可以在“设置”中查看、变更、删除个人信息并管理你的授权。 \n你可阅读《服务协议》,《隐私政策》了解详细信息。如你同意,请点击“同意”开始接受我们的服务 + + 未绑定 + 未设置 + diff --git a/build.gradle b/build.gradle index af488a4..ce43d63 100644 --- a/build.gradle +++ b/build.gradle @@ -1,14 +1,15 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - repositories { google() mavenCentral() maven { url "https://jitpack.io" } maven { url 'http://developer.huawei.com/repo/' } maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' } + maven { url 'http://maven.aliyun.com/nexus/content/repositories/releases/' } } + dependencies { classpath 'com.android.tools.build:gradle:3.6.4' classpath "com.tencent.android.tpns:tpnsplugin:1.8.0" @@ -25,7 +26,9 @@ allprojects { maven { url "https://jitpack.io" } maven { url 'http://developer.huawei.com/repo/' } maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' } + maven { url 'http://maven.aliyun.com/nexus/content/repositories/releases/' } } + gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs.add('-Xbootclasspath/p:app/libs/framework.jar')