From 0f50d916de0d2ac9f1e156aca67eb00a57c73caa Mon Sep 17 00:00:00 2001 From: Utopia&&for free Date: Fri, 18 Sep 2020 19:04:49 +0800 Subject: [PATCH] Update demo.java --- demo.java | 513 +++++++++++++++++++++++++++--------------------------- 1 file changed, 258 insertions(+), 255 deletions(-) diff --git a/demo.java b/demo.java index 3612658..21727db 100644 --- a/demo.java +++ b/demo.java @@ -1,7 +1,7 @@ /* -* Copyright (c) Huawei Technologies Co., Ltd. 2012-2019. All righ -*/ -package com.huawei.android.dynamicfeaturesplit; 6​ + * Copyright (c) Huawei Technologies Co., Ltd. 2012-2019. All righ + */ +package com.huawei.android.dynamicfeaturesplit; import java.util.ArrayList; import java.util.HashSet; import java.util.List; @@ -24,312 +24,315 @@ import com.huawei.hms.feature.model.FeatureInstallSessionStatus; import com.huawei.hms.feature.model.InstallState; import com.huawei.hms.feature.tasks.FeatureTask; -import com.huawei.hms.feature.tasks.listener.OnFeatureCompleteLis -import com.huawei.hms.feature.tasks.listener.OnFeatureFailureList -import com.huawei.hms.feature.tasks.listener.OnFeatureSuccessList +import com.huawei.hms.feature.tasks.listener.OnFeatureCompleteLis +import com.huawei.hms.feature.tasks.listener.OnFeatureFailureList +import com.huawei.hms.feature.tasks.listener.OnFeatureSuccessList /** -* Sample entry. -*/ + * Sample entry. + */ public class SampleEntry extends Activity { -private ProgressBar progressBar; + private ProgressBar progressBar; -private static final String TAG = SampleEntry.class.getSimple ​ -private FeatureInstallManager mFeatureInstallManager; ​ -private int sessionId = 10086; -// 安装状态监听 -private InstallStateListener mStateUpdateListener = new Insta - -@Override -public void onStateUpdate(InstallState state) { -Log.d(TAG, "install session state " + state); -if (state.status() == FeatureInstallSessionStatus.REQ -try { - mFeatureInstallManager.triggerUserConfirm(sta -} catch (IntentSender.SendIntentException e) { - e.printStackTrace(); -} -return; } -if (state.status() == FeatureInstallSessionStatus.REQ -try { -mFeatureInstallManager.triggerUserConfirm(sta -} catch (IntentSender.SendIntentException e) { -e.printStackTrace(); -} -return; - - -} -if (state.status() == FeatureInstallSessionStatus.INS -Log.i(TAG, "installed success ,can use new featur -makeToast("installed success , can test new featu -return; -} -if (state.status() == FeatureInstallSessionStatus.UNK -Log.e(TAG, "installed in unknown status"); -makeToast("installed in unknown status "); -return; -} -if (state.status() == FeatureInstallSessionStatus.DOW -long process = state.bytesDownloaded() * 100 / st -Log.d(TAG, "downloading percentage: " + process) -makeToast("downloading percentage: " + process); -return; -} -if (state.status() == FeatureInstallSessionStatus.FAI -Log.e(TAG, "installed failed, errorcode : " + sta -makeToast("installed failed, errorcode : " + stat -return; -} -} }; -@Override -protected void onCreate(Bundle savedInstanceState) { -super.onCreate(savedInstanceState); -setContentView(R.layout.activity_main); -progressBar = findViewById(R.id.progress_bar); -mFeatureInstallManager = FeatureInstallManagerFactory.cr -} + private static final String TAG = SampleEntry.class.getSimple ​ + private FeatureInstallManager mFeatureInstallManager; ​ + private int sessionId = 10086; + // 安装状态监听 + private InstallStateListener mStateUpdateListener = new Insta -} + @Override + public void onStateUpdate(InstallState state) { + Log.d(TAG, "install session state " + state); + if (state.status() == FeatureInstallSessionStatus.REQ + try { + mFeatureInstallManager.triggerUserConfirm(sta + } catch (IntentSender.SendIntentException e) { + e.printStackTrace(); + } + return; + } + if (state.status() == FeatureInstallSessionStatus.REQ) + try { + mFeatureInstallManager.triggerUserConfirm(sta + } catch (IntentSender.SendIntentException e) { + e.printStackTrace(); + } + return; + } + + if (state.status() == FeatureInstallSessionStatus.INS) + Log.i(TAG, "installed success ,can use new featur + makeToast("installed success , can test new featu + return; + } + if (state.status() == FeatureInstallSessionStatus.UNK + Log.e(TAG, "installed in unknown status"); + makeToast("installed in unknown status "); + return; + } + if (state.status() == FeatureInstallSessionStatus.DOW + long process = state.bytesDownloaded() * 100 / st + Log.d(TAG, "downloading percentage: " + process) + makeToast("downloading percentage: " + process); + return; + } + if (state.status() == FeatureInstallSessionStatus.FAI + Log.e(TAG, "installed failed, errorcode : " + sta + makeToast("installed failed, errorcode : " + stat + return; + } + } + }; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + progressBar = findViewById(R.id.progress_bar); + mFeatureInstallManager = FeatureInstallManagerFactory.cr + } + } -@Override -protected void onResume() { -super.onResume(); -if (mFeatureInstallManager != null) { -mFeatureInstallManager.registerInstallListener(mStat -} -@Override -protected void onPause() { -super.onPause(); -if (mFeatureInstallManager != null) { -mFeatureInstallManager.unregisterInstallListener(mSt -} } + @Override + protected void onResume() { + super.onResume(); + if (mFeatureInstallManager != null) { + mFeatureInstallManager.registerInstallListener(mStat + } + @Override + protected void onPause() { + super.onPause(); + if (mFeatureInstallManager != null) { + mFeatureInstallManager.unregisterInstallListener(mSt + } + + + } /** -* 安装动态特性 -*/ + * 安装动态特性 + */ public void installFeature(View view) { -if (mFeatureInstallManager == null) { -return; } + if (mFeatureInstallManager == null) { + return; } // start install -FeatureInstallRequest request = FeatureInstallRequest.ne -.addModule("SplitSampleFeature01") -.build(); + FeatureInstallRequest request = FeatureInstallRequest.ne + .addModule("SplitSampleFeature01") + .build(); // 添加安装监听 final FeatureTask task = mFeatureInstallManager -task.addOnListener(new OnFeatureSuccessListener + task.addOnListener(new OnFeatureSuccessListener @Override public void onSuccess(Integer integer) { -Log.d(TAG, "load feature onSuccess.session id:" -} -}); -task.addOnListener(new OnFeatureFailureListener + Log.d(TAG, "load feature onSuccess.session id:" + } + }); + task.addOnListener(new OnFeatureFailureListener @Override public void onFailure(Exception exception) { -if (exception instanceof FeatureInstallException -int errorCode = ((FeatureInstallException) e -Log.d(TAG, "load feature onFailure.errorCode -} else { -exception.printStackTrace(); -} } -}); -task.addOnListener(new OnFeatureCompleteListener featureT -if (featureTask.isComplete()) { -Log.d(TAG, "complete to start install."); -if (featureTask.isSuccessful()) { -Integer result = featureTask.getResult() -sessionId = result; -Log.d(TAG, "succeed to start install. se -} else { -Log.d(TAG, "fail to start install."); -Exception exception = featureTask.getExc -exception.printStackTrace(); -} } -} }); -Log.d(TAG, "start install func end"); -} + if (featureTask.isComplete()) { + Log.d(TAG, "complete to start install."); + if (featureTask.isSuccessful()) { + Integer result = featureTask.getResult() + sessionId = result; + Log.d(TAG, "succeed to start install. se + } else { + Log.d(TAG, "fail to start install."); + Exception exception = featureTask.getExc + exception.printStackTrace(); + } } + } }); + Log.d(TAG, "start install func end"); + } /** -* 打开动态特性⻚页⾯面 -*/ + * 打开动态特性⻚页⾯面 + */ public void startFeature01(View view) { // test getInstallModules -Set moduleNames = mFeatureInstallManager.getAllI -Log.d(TAG, "getInstallModules : " + moduleNames); + Set moduleNames = mFeatureInstallManager.getAllI + Log.d(TAG, "getInstallModules : " + moduleNames); + + if (moduleNames != null && moduleNames.contains("SplitSa + try { + startActivity(new Intent(this, Class.forName( + "com.huawei.android.dynamicfeaturesplit. + } catch (Exception e) { + Log.w(TAG, "", e); + } } + } -if (moduleNames != null && moduleNames.contains("SplitSa -try { -startActivity(new Intent(this, Class.forName( -"com.huawei.android.dynamicfeaturesplit. -} catch (Exception e) { -Log.w(TAG, "", e); -} } -} -​ /** -* 中断安装特性 -*/ + * 中断安装特性 + */ public void abortInstallFeature(View view) { -Log.d(TAG, "begin abort_install : " + sessionId); -FeatureTask task = mFeatureInstallManager.abortIns -task.addOnListener(new OnFeatureCompleteListener() + Log.d(TAG, "begin abort_install : " + sessionId); + FeatureTask task = mFeatureInstallManager.abortIns + task.addOnListener(new OnFeatureCompleteListener() @Override public void onComplete(FeatureTask featureTask -if (featureTask.isComplete()) { -Log.d(TAG, "complete to abort_install."); -if (featureTask.isSuccessful()) { -Log.d(TAG, "succeed to abort_install."); -} else { -Log.d(TAG, "fail to abort_install."); -Exception exception = featureTask.getExc -exception.printStackTrace(); -} } -} }); -} -​ + if (featureTask.isComplete()) { + Log.d(TAG, "complete to abort_install."); + if (featureTask.isSuccessful()) { + Log.d(TAG, "succeed to abort_install."); + } else { + Log.d(TAG, "fail to abort_install."); + Exception exception = featureTask.getExc + exception.printStackTrace(); + } } + } }); + } + ​ /** -* get install task state -* -* @param view the view -*/ + * get install task state + * + * @param view the view + */ public void getInstallState(View view) { ​ -Log.d(TAG, "begin to get session state for: " + sessionI -FeatureTask task = mFeatureInstallManager. -task.addOnListener(new OnFeatureCompleteListener task = mFeatureInstallManager. + task.addOnListener(new OnFeatureCompleteListener fea -if (featureTask.isComplete()) { -Log.d(TAG, "complete to get session state.") -if (featureTask.isSuccessful()) { -InstallState state = featureTask.getResu -Log.d(TAG, "succeed to get session state -Log.d(TAG, state.toString()); -} else { -Log.e(TAG, "failed to get session state. -Exception exception = featureTask.getExc -exception.printStackTrace(); -} } -} }); -} -​ + if (featureTask.isComplete()) { + Log.d(TAG, "complete to get session state.") + if (featureTask.isSuccessful()) { + InstallState state = featureTask.getResu + Log.d(TAG, "succeed to get session state + Log.d(TAG, state.toString()); + } else { + Log.e(TAG, "failed to get session state. + Exception exception = featureTask.getExc + exception.printStackTrace(); + } } + } }); + } + /** -* get states of all install tasks -* -* @param view the view -*/ + * get states of all install tasks + * + * @param view the view + */ public void getAllInstallStates(View view) { -Log.d(TAG, "begin to get all session states."); -FeatureTask> task = mFeatureInstallMa -task.addOnListener(new OnFeatureCompleteListener> task = mFeatureInstallMa + task.addOnListener(new OnFeatureCompleteListener stateList = featureTask.g -for (InstallState state : stateList) { -Log.d(TAG, state.toString()); -} -} else { -Log.e(TAG, "fail to get session states."); -Exception exception = featureTask.getExcepti -exception.printStackTrace(); -} } -}); } -​ + if (featureTask.isSuccessful()) { + Log.d(TAG, "succeed to get session states.") + List stateList = featureTask.g + for (InstallState state : stateList) { + Log.d(TAG, state.toString()); + } + } else { + Log.e(TAG, "fail to get session states."); + Exception exception = featureTask.getExcepti + exception.printStackTrace(); + } } + }); } + /** -* 延迟安装动态特性 -*/ -public void delayedInstallFeature(View view) { ​ -​ -List features = new ArrayList<>(); -features.add("SplitSampleFeature01"); -FeatureTask task = mFeatureInstallManager.delayedI -task.addOnListener(new OnFeatureCompleteListener() + * 延迟安装动态特性 + */ +public void delayedInstallFeature(View view) { + + List features = new ArrayList<>(); + features.add("SplitSampleFeature01"); + FeatureTask task = mFeatureInstallManager.delayedI + task.addOnListener(new OnFeatureCompleteListener() @Override public void onComplete(FeatureTask featureTask -if (featureTask.isComplete()) { -Log.d(TAG, "complete to delayed_Install"); -if (featureTask.isSuccessful()) { -Log.d(TAG, "succeed to delayed_install") -} else { -Log.d(TAG, "fail to delayed_install."); -Exception exception = featureTask.getExc -exception.printStackTrace(); -} + if (featureTask.isComplete()) { + Log.d(TAG, "complete to delayed_Install"); + if (featureTask.isSuccessful()) { + Log.d(TAG, "succeed to delayed_install") + } else { + Log.d(TAG, "fail to delayed_install."); + Exception exception = featureTask.getExc + exception.printStackTrace(); + } + + } } + }); } -} } -}); } -​ /** -* 延迟卸载特性 -*/ + * 延迟卸载特性 + */ public void delayedUninstallFeature(View view) { -List features = new ArrayList<>(); -features.add("SplitSampleFeature01"); -FeatureTask task = mFeatureInstallManager.delayedU -task.addOnListener(new OnFeatureCompleteListener() + List features = new ArrayList<>(); + features.add("SplitSampleFeature01"); + FeatureTask task = mFeatureInstallManager.delayedU + task.addOnListener(new OnFeatureCompleteListener() @Override public void onComplete(FeatureTask featureTask -if (featureTask.isComplete()) { -Log.d(TAG, "complete to delayed_uninstall"); -if (featureTask.isSuccessful()) { -Log.d(TAG, "succeed to delayed_uninstall -} else { -Log.d(TAG, "fail to delayed_uninstall.") -Exception exception = featureTask.getExc -exception.printStackTrace(); -} } -} }); -} -​ + if (featureTask.isComplete()) { + Log.d(TAG, "complete to delayed_uninstall"); + if (featureTask.isSuccessful()) { + Log.d(TAG, "succeed to delayed_uninstall + } else { + Log.d(TAG, "fail to delayed_uninstall.") + Exception exception = featureTask.getExc + exception.printStackTrace(); + } } + } }); + } + ​ /** -* install languages -* -* @param view the view -*/ + * install languages + * + * @param view the view + */ public void loadLanguage(View view) { -if (mFeatureInstallManager == null) { -return; } + if (mFeatureInstallManager == null) { + return; } // start install -Set languages = new HashSet<>(); -languages.add("fr-FR"); -FeatureInstallRequest.Builder builder = FeatureInstallRe -for (String lang : languages) { -builder.addLanguage(Locale.forLanguageTag(lang)); -} -FeatureInstallRequest request = builder.build(); -FeatureTask task = mFeatureInstallManager.insta -task.addOnListener(new OnFeatureSuccessListener + Set languages = new HashSet<>(); + languages.add("fr-FR"); + FeatureInstallRequest.Builder builder = FeatureInstallRe + for (String lang : languages) { + builder.addLanguage(Locale.forLanguageTag(lang)); + } + FeatureInstallRequest request = builder.build(); + FeatureTask task = mFeatureInstallManager.insta + task.addOnListener(new OnFeatureSuccessListener @Override public void onSuccess(Integer result) { -Log.d(TAG, "onSuccess callback result " + result -} }); -task.addOnListener(new OnFeatureFailureListener + Log.d(TAG, "onSuccess callback result " + result + } }); + task.addOnListener(new OnFeatureFailureListener @Override public void onFailure(Exception exception) { -if (exception instanceof FeatureInstallException -Log.d(TAG, "onFailure callback " -+ ((FeatureInstallException) exception -} else { -Log.d(TAG, "onFailure callback ", exception) -} } -}); -task.addOnListener(new OnFeatureCompleteListener task) { -Log.d(TAG, "onComplete callback"); -} -}); -{ + Log.d(TAG, "onComplete callback"); + } + }); + { private void makeToast(String msg) { -Toast.makeText(this, msg, Toast.LENGTH_LONG).show(); -} + Toast.makeText(this, msg, Toast.LENGTH_LONG).show(); + } + + } -} -​ -- GitLab