package top.trumeet.mipushframework.control; import android.content.Context; import top.trumeet.common.utils.Utils; import top.trumeet.mipush.BuildConfig; import top.trumeet.mipush.R; import static top.trumeet.common.utils.Utils.getString; import static top.trumeet.mipushframework.control.OnConnectStatusChangedListener.FAIL_REASON_LOW_VERSION; import static top.trumeet.mipushframework.control.OnConnectStatusChangedListener.FAIL_REASON_MIUI; import static top.trumeet.mipushframework.control.OnConnectStatusChangedListener.FAIL_REASON_NOT_INSTALLED; import static top.trumeet.mipushframework.control.OnConnectStatusChangedListener.FAIL_REASON_SECURITY_EXCEPTION; import static top.trumeet.mipushframework.control.OnConnectStatusChangedListener.FAIL_REASON_UNKNOWN; /** * @author Trumeet * @date 2017/12/30 */ public class ConnectFailUtils { private static final String MANAGER_APK_URL = "https://github.com/MiPushFramework/MiPushFramework/releases/download/" + BuildConfig.GIT_TAG + "/manager.apk"; private static final String SERVICE_APK_URL = "https://github.com/MiPushFramework/MiPushFramework/releases/download/" + BuildConfig.GIT_TAG + "/xmsf_service.apk"; public static CharSequence getTitle(Context context, @OnConnectStatusChangedListener.FailReason int reason) { switch (reason) { case FAIL_REASON_UNKNOWN: case FAIL_REASON_SECURITY_EXCEPTION: return getString(R.string.connect_fail_title_unknown, context); case FAIL_REASON_LOW_VERSION: return getString(R.string.connect_fail_title_low_version, context); case FAIL_REASON_NOT_INSTALLED: return getString(R.string.connect_fail_title_not_installed, context); case FAIL_REASON_MIUI: return getString(R.string.connect_fail_title_rom, context); default: return ""; } } public static CharSequence getSummary(Context context, @OnConnectStatusChangedListener.FailReason int reason, int serviceVersionCode) { switch (reason) { case FAIL_REASON_SECURITY_EXCEPTION: return Utils.toHtml(context.getString(R.string.connect_fail_test_se, MANAGER_APK_URL)); case FAIL_REASON_UNKNOWN: return getString(R.string.connect_fail_text_unknown, context, getString(top.trumeet.common.R.string.push_service_name, context)); case FAIL_REASON_NOT_INSTALLED: String original = context.getString(R.string.connect_fail_text_not_installed, SERVICE_APK_URL); return Utils.toHtml(original); case FAIL_REASON_LOW_VERSION: return getString(R.string.connect_fail_text_low_version, context, String.valueOf(serviceVersionCode), SERVICE_APK_URL); case FAIL_REASON_MIUI: return getString(R.string.connect_fail_text_is_miui, context); default: return ""; } } }