Browse Source

mindsporeInHand 1.2.7 verson

pull/15519/head
hukang hwx963878 4 years ago
parent
commit
a638a6e4ff
100 changed files with 4041 additions and 210 deletions
  1. +1
    -0
      model_zoo/official/lite/MindSpore_inhand/.gitignore
  2. +27
    -0
      model_zoo/official/lite/MindSpore_inhand/app/agconnect-services.json
  3. +4
    -4
      model_zoo/official/lite/MindSpore_inhand/app/build.gradle
  4. +0
    -5
      model_zoo/official/lite/MindSpore_inhand/app/proguard-rules.pro
  5. +67
    -4
      model_zoo/official/lite/MindSpore_inhand/app/src/main/AndroidManifest.xml
  6. +1
    -1
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/net/RetrofitHelper.java
  7. +13
    -5
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/college/CollegeFragment.java
  8. +20
    -15
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/experience/VisionFragment.java
  9. +12
    -9
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/guide/SplashActivity.java
  10. +2
    -2
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/main/MainActivity.java
  11. +24
    -1
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/main/PrivacyPolicyActivity.java
  12. +10
    -7
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/me/MeFragment.java
  13. +131
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/me/MyQRCodeActivity.java
  14. +92
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/poetry/IntelligentPoetryWritingActivity.java
  15. +65
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/poetry/PoetryPosterActivity.java
  16. +52
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/poetry/PoetryView.java
  17. +22
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/view/MyButton.java
  18. +80
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/CollegeBrokensideActivity.java
  19. +81
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/CollegeFAQActivity.java
  20. +81
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/CollegeForumActivity.java
  21. +81
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/CollegeOneHourActivity.java
  22. +81
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/CollegePerformReasoningActivity.java
  23. +81
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/CollegeReferencevideoActivity.java
  24. +84
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/CollegeTrainingmodelActivity.java
  25. +80
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/MeCodeRepositoryActivity.java
  26. +82
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/MeOfficialwebsiteActivity.java
  27. +82
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/MeProblemFeedbackActivity.java
  28. +82
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/MeThumbsupActivity.java
  29. +80
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/WebViewUtilsActivity.java
  30. +8
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/anim/anim_enter.xml
  31. +7
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/anim/anim_exit.xml
  32. BIN
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/drawable-xxhdpi/btn_gesture_recognition.png
  33. BIN
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/drawable-xxhdpi/btn_text_extraction.png
  34. BIN
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/drawable-xxhdpi/btn_text_translation.png
  35. BIN
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/drawable-xxhdpi/me_qr_code.png
  36. BIN
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/drawable-xxhdpi/poem_bg.png
  37. +15
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/drawable/item_qrcode.xml
  38. BIN
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/drawable/poem_frame.9.png
  39. +27
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/drawable/progressbar.xml
  40. +43
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_college_brokenside.xml
  41. +43
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_college_f_a_q.xml
  42. +43
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_college_forum.xml
  43. +43
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_college_one_hour.xml
  44. +43
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_college_perform_reasoning.xml
  45. +43
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_college_referencevideo.xml
  46. +44
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_college_trainingmodel.xml
  47. +38
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_intelligent_poetry_writing.xml
  48. +44
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_me_code_repository.xml
  49. +43
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_me_officialwebsite.xml
  50. +44
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_me_problem_feedback.xml
  51. +43
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_me_thumbsup.xml
  52. +39
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_my_qr_code.xml
  53. +86
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_poetry_poster.xml
  54. +22
    -27
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_privacy_policy.xml
  55. +36
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_web_view_utils.xml
  56. +0
    -1
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/btn_left_iamge_right_text.xml
  57. +0
    -1
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/fragment_college.xml
  58. +32
    -6
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/fragment_me.xml
  59. +62
    -32
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/fragment_vision.xml
  60. +36
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/image_intelligent_poetry_layout.xml
  61. +42
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/layout_poem.xml
  62. +36
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/my_button.xml
  63. +33
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/save_qr_code_popupwindo.xml
  64. +0
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-hdpi/ic_launchers.png
  65. +0
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-hdpi/ic_launchers_round.png
  66. +0
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-mdpi/ic_launchers.png
  67. +0
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-mdpi/ic_launchers_round.png
  68. +0
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-xhdpi/ic_launchers.png
  69. +0
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-xhdpi/ic_launchers_round.png
  70. +0
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-xxhdpi/ic_launchers.png
  71. +0
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-xxhdpi/ic_launchers_round.png
  72. +0
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-xxxhdpi/ic_launchers.png
  73. +0
    -0
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-xxxhdpi/ic_launchers_round.png
  74. BIN
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-xxxhdpi/my_qr_code.jpg
  75. +21
    -6
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/values-en/strings.xml
  76. +18
    -6
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/values-zh/strings.xml
  77. +19
    -5
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/values/strings.xml
  78. +4
    -2
      model_zoo/official/lite/MindSpore_inhand/app/src/main/res/values/styles.xml
  79. +3
    -0
      model_zoo/official/lite/MindSpore_inhand/build.gradle
  80. +1
    -0
      model_zoo/official/lite/MindSpore_inhand/common/src/main/java/com/mindspore/common/sp/Preferences.java
  81. +129
    -0
      model_zoo/official/lite/MindSpore_inhand/common/src/main/java/com/mindspore/common/utils/ImageUtils.java
  82. +31
    -0
      model_zoo/official/lite/MindSpore_inhand/common/src/main/java/com/mindspore/common/utils/StringUtils.java
  83. +11
    -0
      model_zoo/official/lite/MindSpore_inhand/common/src/main/res/menu/menu_setting_qr.xml
  84. +1
    -1
      model_zoo/official/lite/MindSpore_inhand/common/src/main/res/values-en/strings.xml
  85. +1
    -1
      model_zoo/official/lite/MindSpore_inhand/common/src/main/res/values-zh/strings.xml
  86. +1
    -1
      model_zoo/official/lite/MindSpore_inhand/common/src/main/res/values/strings.xml
  87. +1
    -0
      model_zoo/official/lite/MindSpore_inhand/hms/.gitignore
  88. +95
    -0
      model_zoo/official/lite/MindSpore_inhand/hms/build.gradle
  89. +0
    -0
      model_zoo/official/lite/MindSpore_inhand/hms/consumer-rules.pro
  90. +0
    -0
      model_zoo/official/lite/MindSpore_inhand/hms/proguard-rules.pro
  91. +207
    -0
      model_zoo/official/lite/MindSpore_inhand/hms/senceDetection
  92. +4
    -4
      model_zoo/official/lite/MindSpore_inhand/hms/src/androidTest/java/com/mindspore/hms/ExampleInstrumentedTest.java
  93. +62
    -0
      model_zoo/official/lite/MindSpore_inhand/hms/src/main/AndroidManifest.xml
  94. +59
    -0
      model_zoo/official/lite/MindSpore_inhand/hms/src/main/assets/Country_pair_new.txt
  95. +22
    -64
      model_zoo/official/lite/MindSpore_inhand/hms/src/main/java/com/mindspore/hms/BitmapUtils.java
  96. +227
    -0
      model_zoo/official/lite/MindSpore_inhand/hms/src/main/java/com/mindspore/hms/ImageSegmentation/ImageSegmentationActivity.java
  97. +283
    -0
      model_zoo/official/lite/MindSpore_inhand/hms/src/main/java/com/mindspore/hms/ImageSegmentation/ImageSegmentationLiveAnalyseActivity.java
  98. +9
    -0
      model_zoo/official/lite/MindSpore_inhand/hms/src/main/java/com/mindspore/hms/ImageSegmentation/OnBackgroundImageListener.java
  99. +234
    -0
      model_zoo/official/lite/MindSpore_inhand/hms/src/main/java/com/mindspore/hms/ImageSegmentation/PortraitSegmentationActivity.java
  100. +85
    -0
      model_zoo/official/lite/MindSpore_inhand/hms/src/main/java/com/mindspore/hms/ImageSegmentation/PortraitSegmentationAdapter.java

+ 1
- 0
model_zoo/official/lite/MindSpore_inhand/.gitignore View File

@@ -81,3 +81,4 @@ local.properties
sdk/build
sdk/.cxx
app/.cxx
/mindsporelibrary/mindspore/

+ 27
- 0
model_zoo/official/lite/MindSpore_inhand/app/agconnect-services.json View File

@@ -0,0 +1,27 @@
{
"agcgw_all": {
"CN": "connect-drcn.hispace.hicloud.com",
"CN_back": "connect-drcn.dbankcloud.cn",
"DE": "connect-dre.hispace.hicloud.com",
"DE_back": "connect-dre.dbankcloud.cn",
"RU": "connect-drru.hispace.hicloud.com",
"RU_back": "connect-drru.dbankcloud.cn",
"SG": "connect-dra.hispace.hicloud.com",
"SG_back": "connect-dra.dbankcloud.cn"
},
"client": {
"cp_id": "70086000024868540",
"product_id": "736430079244810681",
"client_id": "557075911736832640",
"client_secret": "29E859D6D21E08CB492E2B824423F2AE0C1B22140CF6D2029ED0B82BC74B3A67",
"project_id": "736430079244810681",
"app_id": "103836135",
"api_key": "CgB6e3x9ss3nul/jhX9/4Y54MU0plgs6E1bW5SY8YQnq/uWhQHRxVGTf5Jl9f5NjRpvl0QV3Ft9sPihQ/PSL6RjC",
"package_name": "com.mindspore.himindspore"
},
"configuration_version": "2.0",
"appInfos": [{
"package_name": "com.mindspore.himindspore",
"app_id": "103836135"
}]
}

+ 4
- 4
model_zoo/official/lite/MindSpore_inhand/app/build.gradle View File

@@ -1,4 +1,5 @@
apply plugin: 'com.android.application'
apply plugin: 'com.huawei.agconnect'
android {
compileSdkVersion 30
buildToolsVersion "30.0.1"
@@ -7,8 +8,8 @@ android {
applicationId "com.mindspore.himindspore"
minSdkVersion 21
targetSdkVersion 30
versionCode 11
versionName "1.2.4"
versionCode 14
versionName "1.2.7"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
javaCompileOptions {
@@ -74,10 +75,9 @@ dependencies {
annotationProcessor 'com.alibaba:arouter-compiler:1.5.1'

implementation 'pub.devrel:easypermissions:3.0.0'
implementation project(':posenet')
implementation project(':common')
implementation project(':customView')
implementation project(':imageObject')
implementation project(':styletransfer')
implementation project(':segmentation')
implementation project(':hms')
}

+ 0
- 5
model_zoo/official/lite/MindSpore_inhand/app/proguard-rules.pro View File

@@ -19,12 +19,7 @@
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
-keep class cn.sharesdk.**{*;}
-keep class com.sina.**{*;}
-keep class **.R$* {*;}
-keep class **.R{*;}
-keep class com.mob.**{*;}
-keep class m.framework.**{*;}
-dontwarn cn.sharesdk.**
-dontwarn com.sina.**
-dontwarn com.mob.**

+ 67
- 4
model_zoo/official/lite/MindSpore_inhand/app/src/main/AndroidManifest.xml View File

@@ -16,16 +16,80 @@
<application
android:name=".base.MyApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:icon="@mipmap/ic_launchers"
android:label="@string/app_name"
android:requestLegacyExternalStorage="true"
android:roundIcon="@mipmap/ic_launcher_round"
android:roundIcon="@mipmap/ic_launchers_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true"
tools:replace="android:label">

<activity
android:name=".ui.webview.WebViewUtilsActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".ui.webview.CollegeReferencevideoActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".ui.webview.CollegeBrokensideActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".ui.webview.CollegePerformReasoningActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".ui.webview.CollegeTrainingmodelActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".ui.webview.CollegeForumActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".ui.webview.CollegeFAQActivity"
android:hardwareAccelerated="false"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".ui.webview.CollegeOneHourActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".ui.webview.MeThumbsupActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".ui.webview.MeOfficialwebsiteActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".ui.webview.MeCodeRepositoryActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".ui.webview.MeProblemFeedbackActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".ui.me.MyQRCodeActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".ui.poetry.IntelligentPoetryWritingActivity"
android:configChanges="keyboardHidden|orientation|screenSize|screenSize"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".ui.poetry.PoetryPosterActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".ui.main.PrivacyPolicyActivity"
android:screenOrientation="portrait"></activity>
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".ui.main.MainActivity"
android:screenOrientation="portrait"
@@ -41,7 +105,6 @@
android:theme="@style/Theme.AppCompat.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>


+ 1
- 1
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/net/RetrofitHelper.java View File

@@ -28,7 +28,7 @@ import retrofit2.converter.gson.GsonConverterFactory;
public class RetrofitHelper {
public static final String MS_BASE_HOST = "https://download.mindspore.cn/model_zoo/official/lite/apk/";

private RetrofitService retrofitService;
private final RetrofitService retrofitService;


public RetrofitHelper() {


+ 13
- 5
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/college/CollegeFragment.java View File

@@ -30,7 +30,7 @@ import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import com.mindspore.common.config.MSLinkUtils;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mindspore.common.sp.Preferences;
import com.mindspore.common.utils.Utils;
import com.mindspore.customview.dialog.NoticeDialog;
@@ -140,19 +140,19 @@ public class CollegeFragment extends Fragment implements CollegeItemAdapter.Coll
prefs.edit().putBoolean(Preferences.KEY_COLLEGE_CLOUD, true).apply();
collegeDataList.get(1).setHasChecked(prefs.getBoolean(Preferences.KEY_COLLEGE_CLOUD, false));
collegeItemAdapter.notifyData();
Utils.openBrowser(getActivity(), MSLinkUtils.COLLEGE_MAIN_CLOUD);
ARouter.getInstance().build("/app/CollegeOneHourActivity").navigation();
break;
case 3:
prefs.edit().putBoolean(Preferences.KEY_COLLEGE_FAQ, true).apply();
collegeDataList.get(3).setHasChecked(prefs.getBoolean(Preferences.KEY_COLLEGE_FAQ, false));
collegeItemAdapter.notifyData();
Utils.openBrowser(getActivity(), MSLinkUtils.COLLEGE_MAIN_FAQ);
ARouter.getInstance().build("/app/CollegeFAQActivity").navigation();
break;
case 4:
prefs.edit().putBoolean(Preferences.KEY_COLLEGE_ASK, true).apply();
collegeDataList.get(4).setHasChecked(prefs.getBoolean(Preferences.KEY_COLLEGE_ASK, false));
collegeItemAdapter.notifyData();
Utils.openBrowser(getActivity(), MSLinkUtils.COLLEGE_MAIN_ASK);
ARouter.getInstance().build("/app/CollegeForumActivity").navigation();
break;
}
}
@@ -167,6 +167,14 @@ public class CollegeFragment extends Fragment implements CollegeItemAdapter.Coll
prefs.edit().putBoolean(Preferences.KEY_COLLEGE_QUICK, isHasCheckedTrain && isHasCheckedExecute && isHasCheckedApp && isHasCheckedVideo).apply();
collegeDataList.get(2).setHasChecked(prefs.getBoolean(Preferences.KEY_COLLEGE_QUICK, false));
collegeItemAdapter.notifyData();
Utils.openBrowser(getActivity(), MSLinkUtils.COLLEGE_QUICK_WEB_ARRAY[position]);
if (position == 0) {
ARouter.getInstance().build("/app/CollegeTrainingmodelActivity").navigation();
} else if (position == 1) {
ARouter.getInstance().build("/app/CollegePerformReasoningActivity").navigation();
} else if (position == 2) {
ARouter.getInstance().build("/app/CollegeBrokensideActivity").navigation();
} else if (position == 3) {
ARouter.getInstance().build("/app/CollegeReferencevideoActivity").navigation();
}
}
}

+ 20
- 15
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/experience/VisionFragment.java View File

@@ -27,8 +27,6 @@ import androidx.fragment.app.Fragment;

import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mindspore.common.config.MSLinkUtils;
import com.mindspore.common.utils.Utils;
import com.mindspore.himindspore.R;

/**
@@ -70,9 +68,12 @@ public class VisionFragment extends Fragment implements View.OnClickListener {
view.findViewById(R.id.btn_style_transfer).setOnClickListener(this); //onClickStyleTransfer
view.findViewById(R.id.btn_segmentation).setOnClickListener(this); //onClickSegmentation
view.findViewById(R.id.btn_image).setOnClickListener(this); //onClickImage
view.findViewById(R.id.btn_image_garbage).setOnClickListener(this); //onClickGarbage
view.findViewById(R.id.btn_scene).setOnClickListener(this); //onClickSceneDetection
view.findViewById(R.id.btn_image_Intelligent_poetry).setOnClickListener(this); //onClickIntelligentPoetry
view.findViewById(R.id.btn_text_recognition).setOnClickListener(this); //onClickTextRecognition
view.findViewById(R.id.btn_gesture).setOnClickListener(this); //onClickGestureRecognition
view.findViewById(R.id.btn_texttranslation).setOnClickListener(this); //onClickTextTranslation


}

@@ -87,30 +88,34 @@ public class VisionFragment extends Fragment implements View.OnClickListener {
ARouter.getInstance().build("/imageobject/ObjectCameraActivity").navigation();
break;
case R.id.btn_posenet:
ARouter.getInstance().build("/posenet/PosenetMainActivity").navigation();
ARouter.getInstance().build("/hms/PosenetMainActivitys").navigation();
break;
case R.id.btn_style_transfer:
ARouter.getInstance().build("/styletransfer/StyleMainActivity").navigation();
break;
case R.id.btn_segmentation:
ARouter.getInstance().build("/segmentation/SegmentationMainActivity").navigation();
ARouter.getInstance().build("/hms/PortraitSegmentationActivity").navigation();
// ARouter.getInstance().build("/hms/ImageSegmentationLiveAnalyseActivity").navigation();
// ARouter.getInstance().build("/hms/ImageSegmentationActivity").navigation();
break;
case R.id.btn_image:
ARouter.getInstance().build("/imageobject/ImageCameraActivity")
.withInt("OPEN_TYPE", 1).navigation();
break;
case R.id.btn_image_garbage:
ARouter.getInstance().build("/imageobject/ImageCameraActivity")
.withInt("OPEN_TYPE", 2).navigation();
ARouter.getInstance().build("/imageobject/ImageCameraActivity").navigation();
break;
case R.id.btn_scene:
ARouter.getInstance().build("/imageobject/ImageCameraActivity")
.withInt("OPEN_TYPE", 3).navigation();
ARouter.getInstance().build("/hms/SenceDetectionStillAnalyseActivity").navigation();
break;
case R.id.btn_image_Intelligent_poetry:
Utils.openBrowser(getActivity(), MSLinkUtils.HELP_INTELLIGENT_POETRY);
ARouter.getInstance().build("/app/IntelligentPoetryWritingActivity").navigation();
break;
case R.id.btn_text_recognition:
ARouter.getInstance().build("/hms/TextRecognitionActivity").navigation();
break;
case R.id.btn_gesture:
ARouter.getInstance().build("/hms/StillHandGestureAnalyseActivity").navigation();
break;
case R.id.btn_texttranslation:
ARouter.getInstance().build("/hms/TextTranslationActivity").navigation();
break;

}
}
}

+ 12
- 9
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/guide/SplashActivity.java View File

@@ -17,8 +17,8 @@ package com.mindspore.himindspore.ui.guide;

import android.Manifest;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.content.SharedPreferences;
import android.net.Uri;
import android.preference.PreferenceManager;
import android.provider.Settings;
@@ -52,7 +52,6 @@ import pub.devrel.easypermissions.AfterPermissionGranted;
import pub.devrel.easypermissions.AppSettingsDialog;
import pub.devrel.easypermissions.EasyPermissions;


public class SplashActivity extends BaseActivity implements EasyPermissions.PermissionCallbacks {

private static final String TAG = "SplashActivity";
@@ -70,6 +69,7 @@ public class SplashActivity extends BaseActivity implements EasyPermissions.Perm
private TextView mTv_protocol;
private PopupWindow mPopupW;

private boolean isLoadindFinish = false;
@Override
protected void init() {
cdvTime = findViewById(R.id.cdv_time);
@@ -80,11 +80,17 @@ public class SplashActivity extends BaseActivity implements EasyPermissions.Perm
private void initCountDownView() {
cdvTime.setTime(3);
cdvTime.start();
cdvTime.setOnLoadingFinishListener(() -> check());
cdvTime.setOnClickListener(view -> {
cdvTime.setOnLoadingFinishListener(() -> {
cdvTime.stop();
isLoadindFinish= true;
check();
});
cdvTime.setOnClickListener(view -> {
if (!isLoadindFinish) {
cdvTime.stop();
check();
}
});
}

@Override
@@ -96,7 +102,7 @@ public class SplashActivity extends BaseActivity implements EasyPermissions.Perm
@AfterPermissionGranted(REQUEST_PERMISSION)
private void startPermissionsTask() {
if (hasPermissions()) {
setHandler();
enterMainView();
} else {
EasyPermissions.requestPermissions(this,
this.getResources().getString(R.string.app_need_permission),
@@ -132,7 +138,7 @@ public class SplashActivity extends BaseActivity implements EasyPermissions.Perm
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == AppSettingsDialog.DEFAULT_SETTINGS_REQ_CODE) {
setHandler();
enterMainView();
}
}

@@ -161,9 +167,6 @@ public class SplashActivity extends BaseActivity implements EasyPermissions.Perm
return super.onKeyDown(keyCode, event);
}

private void setHandler() {
enterMainView();
}

private void enterMainView() {
Intent intent = new Intent();


+ 2
- 2
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/main/MainActivity.java View File

@@ -223,7 +223,7 @@ public class MainActivity extends BaseActivity<MainPresenter> implements MainCon
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setTitle(getResources().getString(R.string.app_is_loading));
progressDialog.setMessage(getResources().getString(R.string.app_wait));
progressDialog.setProgressNumberFormat("%1d Mb/%2d Mb");
// progressDialog.setProgressNumberFormat("%1d Mb/%2d Mb");
progressDialog.setProgress(0);
progressDialog.show();
presenter.downloadApk(getApkPath(), "MindSpore_inhand.apk", new FileDownLoadObserver<File>() {
@@ -240,7 +240,7 @@ public class MainActivity extends BaseActivity<MainPresenter> implements MainCon
@Override
public void onProgress(final int progress, final long total) {
runOnUiThread(() -> {
progressDialog.setMax((int) total / 1024 / 1024);
// progressDialog.setMax((int) total / 1024 / 1024);
progressDialog.setProgress(progress);
});



+ 24
- 1
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/main/PrivacyPolicyActivity.java View File

@@ -17,32 +17,55 @@ package com.mindspore.himindspore.ui.main;

import android.os.Bundle;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.ProgressBar;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import com.alibaba.android.arouter.facade.annotation.Route;
import com.mindspore.common.config.MSLinkUtils;
import com.mindspore.himindspore.R;

@Route(path = "/app/PrivacyPolicyActivity")
public class PrivacyPolicyActivity extends AppCompatActivity {

private static final String TAG = PrivacyPolicyActivity.class.getSimpleName();

private WebView mWebView;
private ProgressBar progressBar;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_privacy_policy);

initView();
}

private void initView() {
findViewById(R.id.w_back).setOnClickListener(v -> finish());
progressBar = findViewById(R.id.progress);
Toolbar mToolbar = findViewById(R.id.brokenside_toolbar);
mToolbar.setNavigationOnClickListener(view -> finish());
mWebView = findViewById(R.id.mWebView);
WebSettings wSet = mWebView.getSettings();
wSet.setJavaScriptEnabled(true);
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {


if (newProgress == 100) {
progressBar.setVisibility(View.GONE);
} else {
progressBar.setVisibility(View.VISIBLE);
progressBar.setProgress(newProgress);
}

}
});
mWebView.loadUrl(MSLinkUtils.USER_PRIVACY_RULES);

}


+ 10
- 7
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/me/MeFragment.java View File

@@ -28,10 +28,9 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;

import com.alibaba.android.arouter.launcher.ARouter;
import com.mindspore.common.config.MSLinkUtils;
import com.mindspore.common.utils.Utils;
import com.mindspore.himindspore.R;
import com.mindspore.himindspore.ui.main.PrivacyPolicyActivity;

public class MeFragment extends Fragment implements View.OnClickListener {

@@ -57,6 +56,7 @@ public class MeFragment extends Fragment implements View.OnClickListener {
view.findViewById(R.id.rl_me_qa).setOnClickListener(this);
view.findViewById(R.id.rl_me_version).setOnClickListener(this);
view.findViewById(R.id.me_user_protocol).setOnClickListener(this);
view.findViewById(R.id.rl_me_qr_code).setOnClickListener(this);
showPackageInfo();
}

@@ -88,19 +88,22 @@ public class MeFragment extends Fragment implements View.OnClickListener {
onClickShare();
break;
case R.id.rl_me_thumbsup:
Utils.openBrowser(getActivity(), MSLinkUtils.ME_STAR_URL);
ARouter.getInstance().build("/app/MeThumbsupActivity").navigation();
break;
case R.id.rl_me_official:
Utils.openBrowser(getActivity(), MSLinkUtils.BASE_URL);
ARouter.getInstance().build("/app/MeOfficialwebsiteActivity").navigation();
break;
case R.id.rl_me_official_code:
Utils.openBrowser(getActivity(), MSLinkUtils.ME_CODE_URL);
ARouter.getInstance().build("/app/MeCodeRepositoryActivity").navigation();
break;
case R.id.rl_me_qa:
Utils.openBrowser(getActivity(), MSLinkUtils.ME_HELP_URL);
ARouter.getInstance().build("/app/MeProblemFeedbackActivity").navigation();
break;
case R.id.me_user_protocol:
startActivity(new Intent(getContext(), PrivacyPolicyActivity.class));
ARouter.getInstance().build("/app/PrivacyPolicyActivity").navigation();
break;
case R.id.rl_me_qr_code:
ARouter.getInstance().build("/app/MyQRCodeActivity").navigation();
break;
}
}


+ 131
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/me/MyQRCodeActivity.java View File

@@ -0,0 +1,131 @@
package com.mindspore.himindspore.ui.me;

import android.content.ContentResolver;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.PopupWindow;
import android.widget.RelativeLayout;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import com.alibaba.android.arouter.facade.annotation.Route;
import com.mindspore.himindspore.R;

@Route(path = "/app/MyQRCodeActivity")
public class MyQRCodeActivity extends AppCompatActivity {

private static final String TAG = "MyQRCodeActivity";
private PopupWindow popupWindow;
private View save_and_cancels_image;
private RelativeLayout mMy_layout;

private ImageView mQr_code_image;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_qr_code);
init();
}

private void init() {
Toolbar mToolbar = findViewById(R.id.segmentation_toolbar);
setSupportActionBar(mToolbar);
mToolbar.setNavigationOnClickListener(view -> finish());
mMy_layout = (RelativeLayout) findViewById(R.id.my_relativelayout);
mQr_code_image = findViewById(R.id.img_origin);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
Log.i(TAG, "onCreateOptionsMenu info");
getMenuInflater().inflate(R.menu.menu_setting_qr, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
findViewById(R.id.item_more_qr).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
save_and_cancels_image = layoutInflater.inflate(R.layout.save_qr_code_popupwindo, null);
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
popupWindow = new PopupWindow(save_and_cancels_image, dm.widthPixels, WindowManager.LayoutParams.WRAP_CONTENT);
popupWindow.setAnimationStyle(R.style.anims);
popupWindow.setFocusable(true);
popupWindow.setOutsideTouchable(true);
popupWindow.setBackgroundDrawable(new BitmapDrawable());
backgroundAlpha(0.5f);
popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
@Override
public void onDismiss() {
backgroundAlpha(1f);

}
});
popupWindow.showAtLocation(mMy_layout, Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0, 0);
save_and_cancels_image.findViewById(R.id.my_save_picture).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SaveImageToSysAlbum();
}
});
save_and_cancels_image.findViewById(R.id.my_cancel).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
popupWindow.dismiss();
}
});
}
});

return super.onOptionsItemSelected(item);
}

public void backgroundAlpha(float bgAlpha) {
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.alpha = bgAlpha;
getWindow().setAttributes(lp);
}

private void SaveImageToSysAlbum() {
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
mQr_code_image.setDrawingCacheEnabled(true);
mQr_code_image.buildDrawingCache();
Bitmap bitmap = Bitmap.createBitmap(mQr_code_image.getDrawingCache());
if (bitmap != null) {
try {
ContentResolver cr = getContentResolver();
String url = MediaStore.Images.Media.insertImage(cr, bitmap,
String.valueOf(System.currentTimeMillis()), "");
Toast.makeText(this.getApplicationContext(), R.string.save_success, Toast.LENGTH_SHORT).show();
popupWindow.dismiss();
} catch (Exception e) {
e.printStackTrace();
}
} else {
Toast.makeText(this.getApplicationContext(), R.string.save_failure, Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(this.getApplicationContext(), R.string.save_success, Toast.LENGTH_SHORT).show();
}
}
}

+ 92
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/poetry/IntelligentPoetryWritingActivity.java View File

@@ -0,0 +1,92 @@
/**
* Copyright 2021 Huawei Technologies Co., Ltd
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.mindspore.himindspore.ui.poetry;

import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.webkit.JavascriptInterface;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.ProgressBar;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import com.alibaba.android.arouter.facade.annotation.Route;
import com.mindspore.common.config.MSLinkUtils;
import com.mindspore.himindspore.R;
@Route(path = "/app/IntelligentPoetryWritingActivity")
public class IntelligentPoetryWritingActivity extends AppCompatActivity {

private WebView mWebView;
private ProgressBar progressBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_intelligent_poetry_writing);
progressBar = findViewById(R.id.progress);
initView();
}


@SuppressLint("JavascriptInterface")
private void initView() {
findViewById(R.id.w_back).setOnClickListener(v -> finish());
mWebView = findViewById(R.id.mWebView);
WebSettings wSet = mWebView.getSettings();
wSet.setJavaScriptEnabled(true);
wSet.setDomStorageEnabled(true);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
mWebView.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
if(newProgress==100){
progressBar.setVisibility(View.GONE);
}
else{
progressBar.setVisibility(View.VISIBLE);
progressBar.setProgress(newProgress);
}

}
});
// mWebView.loadUrl("http://114.116.235.161/resources/tech/nlp/poetry");
mWebView.loadUrl(MSLinkUtils.HELP_INTELLIGENT_POETRY);
mWebView.addJavascriptInterface(IntelligentPoetryWritingActivity.this,"android");
}

@JavascriptInterface
public void getGeneratePoetry(final String text){
Intent intent = new Intent(IntelligentPoetryWritingActivity.this,PoetryPosterActivity.class);
intent.putExtra("POEM",text);
startActivity(intent);
}

@Override
protected void onDestroy() {
super.onDestroy();
mWebView.removeAllViews();
mWebView.destroy();
}
}

+ 65
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/poetry/PoetryPosterActivity.java View File

@@ -0,0 +1,65 @@
/**
* Copyright 2021 Huawei Technologies Co., Ltd
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.mindspore.himindspore.ui.poetry;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.widget.Button;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import com.mindspore.common.utils.ImageUtils;
import com.mindspore.himindspore.R;

public class PoetryPosterActivity extends AppCompatActivity {

private Button saveBtn, shareBtn;
private PoetryView poetryView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_poetry_poster);
findViewById(R.id.w_back).setOnClickListener(v -> finish());
String poem = getIntent().getStringExtra("POEM");
saveBtn = findViewById(R.id.save_btn);
shareBtn = findViewById(R.id.share_btn);
poetryView = findViewById(R.id.top_layout);

poetryView.setPoemText(poem);

saveBtn.setOnClickListener(view -> {
Uri imgPath = ImageUtils.saveToAlbum(PoetryPosterActivity.this, poetryView,null,false);
if (imgPath != null) {
Toast.makeText(PoetryPosterActivity.this, R.string.poem_save_success, Toast.LENGTH_SHORT).show();
}
});

shareBtn.setOnClickListener(view -> {
Uri imgPath = ImageUtils.saveToAlbum(PoetryPosterActivity.this, poetryView,"poemshare",false);
Intent share_intent = new Intent();
share_intent.setAction(Intent.ACTION_SEND);
share_intent.setType("image/*");
share_intent.putExtra(Intent.EXTRA_STREAM, imgPath);
share_intent = Intent.createChooser(share_intent, getString(R.string.title_share));
startActivity(share_intent);
});
}


}

+ 52
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/poetry/PoetryView.java View File

@@ -0,0 +1,52 @@
/**
* Copyright 2021 Huawei Technologies Co., Ltd
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.mindspore.himindspore.ui.poetry;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.os.Build;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.mindspore.himindspore.R;

public class PoetryView extends RelativeLayout {

private final TextView poemText;

public PoetryView(Context context) {
this(context,null);
}

public PoetryView(Context context, AttributeSet attrs) {
this(context, attrs,0);
}

public PoetryView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
View view = View.inflate(context, R.layout.layout_poem,this);
poemText =view.findViewById(R.id.poemContent);
}

public void setPoemText(String content){
poemText.setText(content);
}

}

+ 22
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/view/MyButton.java View File

@@ -0,0 +1,22 @@
package com.mindspore.himindspore.ui.view;

import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.RelativeLayout;
import androidx.annotation.Nullable;

import com.mindspore.himindspore.R;

public class MyButton extends RelativeLayout {

public MyButton(Context context)
{
super(context, null);
}

public MyButton(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
LayoutInflater.from(context).inflate(R.layout.my_button, this,true);
}
}

+ 80
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/CollegeBrokensideActivity.java View File

@@ -0,0 +1,80 @@
/**
* Copyright 2021 Huawei Technologies Co., Ltd
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.mindspore.himindspore.ui.webview;

import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import com.alibaba.android.arouter.facade.annotation.Route;
import com.mindspore.common.config.MSLinkUtils;
import com.mindspore.himindspore.R;


@Route(path = "/app/CollegeBrokensideActivity")
public class CollegeBrokensideActivity extends AppCompatActivity {
private WebView mWebView;
private ProgressBar progressBar;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_college_brokenside);
initView();
}

private void initView() {
progressBar = findViewById(R.id.progress);
Toolbar mToolbar = findViewById(R.id.brokenside_toolbar);
mToolbar.setNavigationOnClickListener(view -> finish());
mWebView = findViewById(R.id.mWebView);
WebSettings wSet = mWebView.getSettings();
wSet.setJavaScriptEnabled(true);
wSet.setDomStorageEnabled(true);
mWebView.setWebViewClient(new WebViewClient());
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
if (newProgress == 100) {
progressBar.setVisibility(View.GONE);
} else {
progressBar.setVisibility(View.VISIBLE);
progressBar.setProgress(newProgress);
}

}
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
mWebView.loadUrl(MSLinkUtils.COLLEGE_QUICK_APP);
}

@Override
protected void onDestroy() {
super.onDestroy();
mWebView.removeAllViews();
mWebView.destroy();
}
}

+ 81
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/CollegeFAQActivity.java View File

@@ -0,0 +1,81 @@
/**
* Copyright 2021 Huawei Technologies Co., Ltd
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.mindspore.himindspore.ui.webview;

import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import com.alibaba.android.arouter.facade.annotation.Route;
import com.mindspore.common.config.MSLinkUtils;
import com.mindspore.himindspore.R;

@Route(path = "/app/CollegeFAQActivity")
public class CollegeFAQActivity extends AppCompatActivity {
private WebView mWebView;
private ProgressBar progressBar;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_college_f_a_q);
initView();
}

private void initView() {
progressBar = findViewById(R.id.progress);
Toolbar mToolbar = findViewById(R.id.CollegeFAQActivity_toolbar);
mToolbar.setNavigationOnClickListener(view -> finish());
mWebView = findViewById(R.id.mWebView);
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.setWebViewClient(new WebViewClient());
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {


if (newProgress == 100) {
progressBar.setVisibility(View.GONE);
} else {
progressBar.setVisibility(View.VISIBLE);
progressBar.setProgress(newProgress);
}

}
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
mWebView.loadUrl(MSLinkUtils.COLLEGE_MAIN_FAQ);
}

@Override
protected void onDestroy() {
super.onDestroy();
mWebView.removeAllViews();
mWebView.destroy();
}
}

+ 81
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/CollegeForumActivity.java View File

@@ -0,0 +1,81 @@
/**
* Copyright 2021 Huawei Technologies Co., Ltd
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.mindspore.himindspore.ui.webview;

import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import com.alibaba.android.arouter.facade.annotation.Route;
import com.mindspore.common.config.MSLinkUtils;
import com.mindspore.himindspore.R;

@Route(path = "/app/CollegeForumActivity")
public class CollegeForumActivity extends AppCompatActivity {
private WebView mWebView;
private ProgressBar progressBar;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_college_forum);
initView();
}

private void initView() {
progressBar = findViewById(R.id.progress);
Toolbar mToolbar = findViewById(R.id.CollegeForumActivity_toolbar);
mToolbar.setNavigationOnClickListener(view -> finish());
mWebView = findViewById(R.id.mWebView);
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.setWebViewClient(new WebViewClient());
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {


if (newProgress == 100) {
progressBar.setVisibility(View.GONE);
} else {
progressBar.setVisibility(View.VISIBLE);
progressBar.setProgress(newProgress);
}

}
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
mWebView.loadUrl(MSLinkUtils.COLLEGE_MAIN_ASK);
}

@Override
protected void onDestroy() {
super.onDestroy();
mWebView.removeAllViews();
mWebView.destroy();
}
}

+ 81
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/CollegeOneHourActivity.java View File

@@ -0,0 +1,81 @@
/**
* Copyright 2021 Huawei Technologies Co., Ltd
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.mindspore.himindspore.ui.webview;

import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import com.alibaba.android.arouter.facade.annotation.Route;
import com.mindspore.common.config.MSLinkUtils;
import com.mindspore.himindspore.R;

@Route(path = "/app/CollegeOneHourActivity")
public class CollegeOneHourActivity extends AppCompatActivity {
private WebView mWebView;
private ProgressBar progressBar;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_college_one_hour);
initView();
}

private void initView() {
progressBar = findViewById(R.id.progress);
Toolbar mToolbar = findViewById(R.id.OneHour_toolbar);
mToolbar.setNavigationOnClickListener(view -> finish());
mWebView = findViewById(R.id.mWebView);
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.setWebViewClient(new WebViewClient());
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {


if (newProgress == 100) {
progressBar.setVisibility(View.GONE);
} else {
progressBar.setVisibility(View.VISIBLE);
progressBar.setProgress(newProgress);
}

}
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
mWebView.loadUrl(MSLinkUtils.COLLEGE_MAIN_CLOUD);
}

@Override
protected void onDestroy() {
super.onDestroy();
mWebView.removeAllViews();
mWebView.destroy();
}
}

+ 81
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/CollegePerformReasoningActivity.java View File

@@ -0,0 +1,81 @@
/**
* Copyright 2021 Huawei Technologies Co., Ltd
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.mindspore.himindspore.ui.webview;

import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import com.alibaba.android.arouter.facade.annotation.Route;
import com.mindspore.common.config.MSLinkUtils;
import com.mindspore.himindspore.R;

@Route(path = "/app/CollegePerformReasoningActivity")
public class CollegePerformReasoningActivity extends AppCompatActivity {
private WebView mWebView;
private ProgressBar progressBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_college_perform_reasoning);
initView();
}

private void initView() {
progressBar = findViewById(R.id.progress);
Toolbar mToolbar = findViewById(R.id.perform_toolbar);
mToolbar.setNavigationOnClickListener(view -> finish());
mWebView = findViewById(R.id.mWebView);
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.setWebViewClient(new WebViewClient());
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {


if(newProgress==100){
progressBar.setVisibility(View.GONE);
}
else{
progressBar.setVisibility(View.VISIBLE);
progressBar.setProgress(newProgress);
}

}
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
mWebView.loadUrl(MSLinkUtils.COLLEGE_QUICK_EXECUTE);
}

@Override
protected void onDestroy() {
super.onDestroy();
mWebView.removeAllViews();
mWebView.destroy();
}
}

+ 81
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/CollegeReferencevideoActivity.java View File

@@ -0,0 +1,81 @@
/**
* Copyright 2021 Huawei Technologies Co., Ltd
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.mindspore.himindspore.ui.webview;

import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import com.alibaba.android.arouter.facade.annotation.Route;
import com.mindspore.common.config.MSLinkUtils;
import com.mindspore.himindspore.R;

@Route(path = "/app/CollegeReferencevideoActivity")
public class CollegeReferencevideoActivity extends AppCompatActivity {
private WebView mWebView;
private ProgressBar progressBar;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_college_referencevideo);
initView();
}

private void initView() {
progressBar = findViewById(R.id.progress);
Toolbar mToolbar = findViewById(R.id.referencevideo_toolbar);
mToolbar.setNavigationOnClickListener(view -> finish());
mWebView = findViewById(R.id.mWebView);
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.setWebViewClient(new WebViewClient());
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {


if (newProgress == 100) {
progressBar.setVisibility(View.GONE);
} else {
progressBar.setVisibility(View.VISIBLE);
progressBar.setProgress(newProgress);
}

}
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
mWebView.loadUrl(MSLinkUtils.COLLEGE_QUICK_VIDEO);
}

@Override
protected void onDestroy() {
super.onDestroy();
mWebView.removeAllViews();
mWebView.destroy();
}
}

+ 84
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/CollegeTrainingmodelActivity.java View File

@@ -0,0 +1,84 @@
/**
* Copyright 2021 Huawei Technologies Co., Ltd
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.mindspore.himindspore.ui.webview;

import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.webkit.CookieManager;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import com.alibaba.android.arouter.facade.annotation.Route;
import com.mindspore.common.config.MSLinkUtils;
import com.mindspore.himindspore.R;

@Route(path = "/app/CollegeTrainingmodelActivity")
public class CollegeTrainingmodelActivity extends AppCompatActivity {
private WebView mWebView;
private ProgressBar progressBar;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_college_trainingmodel);
initView();
}

private void initView() {
progressBar = findViewById(R.id.progress);
Toolbar mToolbar = findViewById(R.id.Trainingmodel_toolbar);
mToolbar.setNavigationOnClickListener(view -> finish());
mWebView = findViewById(R.id.mWebView);
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.setWebViewClient(new WebViewClient());
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {


if (newProgress == 100) {
progressBar.setVisibility(View.GONE);
} else {
progressBar.setVisibility(View.VISIBLE);
progressBar.setProgress(newProgress);
}

}
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptThirdPartyCookies(mWebView, true);
mWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
mWebView.loadUrl(MSLinkUtils.COLLEGE_QUICK_TRAIN);

}

@Override
protected void onDestroy() {
super.onDestroy();
mWebView.removeAllViews();
mWebView.destroy();
}
}

+ 80
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/MeCodeRepositoryActivity.java View File

@@ -0,0 +1,80 @@
/**
* Copyright 2021 Huawei Technologies Co., Ltd
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.mindspore.himindspore.ui.webview;

import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import com.alibaba.android.arouter.facade.annotation.Route;
import com.mindspore.common.config.MSLinkUtils;
import com.mindspore.himindspore.R;

@Route(path = "/app/MeCodeRepositoryActivity")
public class MeCodeRepositoryActivity extends AppCompatActivity {

private WebView mWebView;
private ProgressBar progressBar;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_me_code_repository);
initView();
}

private void initView() {
progressBar = findViewById(R.id.progress);
Toolbar mToolbar = findViewById(R.id.MeCodeRepositoryActivity_toolbar);
mToolbar.setNavigationOnClickListener(view -> finish());
mWebView = findViewById(R.id.mWebView);
WebSettings wSet = mWebView.getSettings();
wSet.setJavaScriptEnabled(true);
wSet.setDomStorageEnabled(true);
mWebView.setWebViewClient(new WebViewClient());
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
if (newProgress == 100) {
progressBar.setVisibility(View.GONE);
} else {
progressBar.setVisibility(View.VISIBLE);
progressBar.setProgress(newProgress);
}

}
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
mWebView.loadUrl(MSLinkUtils.ME_CODE_URL);
}

@Override
protected void onDestroy() {
super.onDestroy();
mWebView.removeAllViews();
mWebView.destroy();
}
}

+ 82
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/MeOfficialwebsiteActivity.java View File

@@ -0,0 +1,82 @@
/**
* Copyright 2021 Huawei Technologies Co., Ltd
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.mindspore.himindspore.ui.webview;

import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import com.alibaba.android.arouter.facade.annotation.Route;
import com.mindspore.common.config.MSLinkUtils;
import com.mindspore.himindspore.R;

@Route(path = "/app/MeOfficialwebsiteActivity")
public class MeOfficialwebsiteActivity extends AppCompatActivity {

private WebView mWebView;
private ProgressBar progressBar;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_me_officialwebsite);
initView();
}

private void initView() {
progressBar = findViewById(R.id.progress);
Toolbar mToolbar = findViewById(R.id.MeOfficialwebsiteActivity_toolbar);
mToolbar.setNavigationOnClickListener(view -> finish());
mWebView = findViewById(R.id.mWebView);
WebSettings wSet = mWebView.getSettings();
wSet.setJavaScriptEnabled(true);
wSet.setDomStorageEnabled(true);
mWebView.setWebViewClient(new WebViewClient());
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {


if (newProgress == 100) {
progressBar.setVisibility(View.GONE);
} else {
progressBar.setVisibility(View.VISIBLE);
progressBar.setProgress(newProgress);
}

}
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
mWebView.loadUrl(MSLinkUtils.BASE_URL);
}

@Override
protected void onDestroy() {
super.onDestroy();
mWebView.removeAllViews();
mWebView.destroy();
}
}

+ 82
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/MeProblemFeedbackActivity.java View File

@@ -0,0 +1,82 @@
/**
* Copyright 2021 Huawei Technologies Co., Ltd
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.mindspore.himindspore.ui.webview;

import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import com.alibaba.android.arouter.facade.annotation.Route;
import com.mindspore.common.config.MSLinkUtils;
import com.mindspore.himindspore.R;

@Route(path = "/app/MeProblemFeedbackActivity")
public class MeProblemFeedbackActivity extends AppCompatActivity {

private WebView mWebView;
private ProgressBar progressBar;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_me_problem_feedback);
initView();
}

private void initView() {
progressBar = findViewById(R.id.progress);
Toolbar mToolbar = findViewById(R.id.MeProblemFeedbackActivity_toolbar);
mToolbar.setNavigationOnClickListener(view -> finish());
mWebView = findViewById(R.id.mWebView);
WebSettings wSet = mWebView.getSettings();
wSet.setJavaScriptEnabled(true);
wSet.setDomStorageEnabled(true);
mWebView.setWebViewClient(new WebViewClient());
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {


if (newProgress == 100) {
progressBar.setVisibility(View.GONE);
} else {
progressBar.setVisibility(View.VISIBLE);
progressBar.setProgress(newProgress);
}

}
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
mWebView.loadUrl(MSLinkUtils.ME_HELP_URL);
}

@Override
protected void onDestroy() {
super.onDestroy();
mWebView.removeAllViews();
mWebView.destroy();
}
}

+ 82
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/MeThumbsupActivity.java View File

@@ -0,0 +1,82 @@
/**
* Copyright 2021 Huawei Technologies Co., Ltd
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.mindspore.himindspore.ui.webview;

import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import com.alibaba.android.arouter.facade.annotation.Route;
import com.mindspore.common.config.MSLinkUtils;
import com.mindspore.himindspore.R;

@Route(path = "/app/MeThumbsupActivity")
public class MeThumbsupActivity extends AppCompatActivity {

private WebView mWebView;
private ProgressBar progressBar;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_me_thumbsup);
initView();
}

private void initView() {
progressBar = findViewById(R.id.progress);
Toolbar mToolbar = findViewById(R.id.MeThumbsupActivity_toolbar);
mToolbar.setNavigationOnClickListener(view -> finish());
mWebView = findViewById(R.id.mWebView);
WebSettings wSet = mWebView.getSettings();
wSet.setJavaScriptEnabled(true);
wSet.setDomStorageEnabled(true);
mWebView.setWebViewClient(new WebViewClient());
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {


if (newProgress == 100) {
progressBar.setVisibility(View.GONE);
} else {
progressBar.setVisibility(View.VISIBLE);
progressBar.setProgress(newProgress);
}

}
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
mWebView.loadUrl(MSLinkUtils.ME_STAR_URL);
}

@Override
protected void onDestroy() {
super.onDestroy();
mWebView.removeAllViews();
mWebView.destroy();
}
}

+ 80
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/java/com/mindspore/himindspore/ui/webview/WebViewUtilsActivity.java View File

@@ -0,0 +1,80 @@
/**
* Copyright 2021 Huawei Technologies Co., Ltd
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.mindspore.himindspore.ui.webview;

import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import com.mindspore.himindspore.R;

public class WebViewUtilsActivity extends AppCompatActivity {

private WebView mWebView;
private ProgressBar progressBar;
private final String mWebViewUtil = "";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web_view_utils);
initView();
}

private void initView() {
String mMeThumbsup = getIntent().getStringExtra("MeThumbsup");
String mMeOfficial = getIntent().getStringExtra("MeOfficial");
String mMeCodeRepository = getIntent().getStringExtra("MeCodeRepository");
String mMeProblemFeedback = getIntent().getStringExtra("MeProblemFeedback");
progressBar = findViewById(R.id.progress);
Toolbar mToolbar = findViewById(R.id.OneHour_toolbar);
mToolbar.setNavigationOnClickListener(view -> finish());
mWebView = findViewById(R.id.mWebView);
mWebView.setWebViewClient(new WebViewClient());
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
if(newProgress==100){
progressBar.setVisibility(View.GONE);
}
else{
progressBar.setVisibility(View.VISIBLE);
progressBar.setProgress(newProgress);
}
}
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
}

@Override
protected void onDestroy() {
super.onDestroy();
mWebView.removeAllViews();
mWebView.destroy();
}
}

+ 8
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/anim/anim_enter.xml View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:duration="300"
android:fromYDelta="100%"
android:toXDelta="0">
</translate>


+ 7
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/anim/anim_exit.xml View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:duration="300"
android:fromYDelta="0"
android:toYDelta="100%">
</translate>

BIN
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/drawable-xxhdpi/btn_gesture_recognition.png View File

Before After
Width: 58  |  Height: 58  |  Size: 2.0 kB

BIN
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/drawable-xxhdpi/btn_text_extraction.png View File

Before After
Width: 58  |  Height: 58  |  Size: 1.7 kB

BIN
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/drawable-xxhdpi/btn_text_translation.png View File

Before After
Width: 58  |  Height: 58  |  Size: 2.6 kB

BIN
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/drawable-xxhdpi/me_qr_code.png View File

Before After
Width: 42  |  Height: 42  |  Size: 569 B

BIN
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/drawable-xxhdpi/poem_bg.png View File

Before After
Width: 1036  |  Height: 1444  |  Size: 674 kB

+ 15
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/drawable/item_qrcode.xml View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="false" >
<shape android:shape="rectangle">
<stroke android:width="1dp" android:color="@color/white" />
<solid android:color="@color/white" />
<!--<corners android:radius="30dip" />-->
<corners android:topLeftRadius="20dip"
android:topRightRadius="20dip"
/>
</shape>
</item>

</selector>

BIN
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/drawable/poem_frame.9.png View File

Before After
Width: 900  |  Height: 186  |  Size: 6.9 kB

+ 27
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/drawable/progressbar.xml View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<item android:id="@android:id/background">
<shape>
<corners android:radius="2dp" />
<gradient
android:angle="270"
android:centerColor="#E3E3E3"
android:endColor="#E6E6E6"
android:startColor="#C8C8C8" />
</shape>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="2dp" />
<gradient
android:centerColor="#4AEA2F"
android:endColor="#31CE15"
android:startColor="#5FEC46" />

</shape>
</clip>
</item>

</layer-list>

+ 43
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_college_brokenside.xml View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical"
tools:context=".ui.webview.CollegeBrokensideActivity">


<androidx.appcompat.widget.Toolbar
android:id="@+id/brokenside_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:navigationIcon="@drawable/icon_back"
app:title="@string/title_college_broken_side"
app:titleTextColor="@color/black" />

<View
android:id="@+id/w_view"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/divider_gray" />

<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="3dip"
android:progressDrawable="@drawable/progressbar"
android:visibility="gone" />

<WebView
android:id="@+id/mWebView"
android:layout_width="match_parent"
android:layout_height="match_parent" />

</LinearLayout>

+ 43
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_college_f_a_q.xml View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical"
tools:context=".ui.webview.CollegeFAQActivity">

<androidx.appcompat.widget.Toolbar
android:id="@+id/CollegeFAQActivity_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:navigationIcon="@drawable/icon_back"
app:title="@string/title_college_faq"
app:titleTextColor="@color/black" />

<View
android:id="@+id/w_view"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/divider_gray" />

<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="3dip"
android:progressDrawable="@drawable/progressbar"
android:visibility="gone"
/>

<WebView
android:id="@+id/mWebView"
android:layout_width="match_parent"
android:layout_height="match_parent" />

</LinearLayout>

+ 43
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_college_forum.xml View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical"
tools:context=".ui.webview.CollegeForumActivity">

<androidx.appcompat.widget.Toolbar
android:id="@+id/CollegeForumActivity_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:navigationIcon="@drawable/icon_back"
app:title="@string/title_college_forum"
app:titleTextColor="@color/black" />

<View
android:id="@+id/w_view"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/divider_gray" />

<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="3dip"
android:progressDrawable="@drawable/progressbar"
android:visibility="gone"
/>

<WebView
android:id="@+id/mWebView"
android:layout_width="match_parent"
android:layout_height="match_parent" />

</LinearLayout>

+ 43
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_college_one_hour.xml View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical"
tools:context=".ui.webview.CollegeOneHourActivity">

<androidx.appcompat.widget.Toolbar
android:id="@+id/OneHour_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:navigationIcon="@drawable/icon_back"
app:title="@string/title_college_one_hour"
app:titleTextColor="@color/black" />

<View
android:id="@+id/w_view"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/divider_gray" />

<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="3dip"
android:progressDrawable="@drawable/progressbar"
android:visibility="gone"
/>

<WebView
android:id="@+id/mWebView"
android:layout_width="match_parent"
android:layout_height="match_parent" />

</LinearLayout>

+ 43
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_college_perform_reasoning.xml View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical"
tools:context=".ui.webview.CollegePerformReasoningActivity">

<androidx.appcompat.widget.Toolbar
android:id="@+id/perform_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:navigationIcon="@drawable/icon_back"
app:title="@string/title_college_perform"
app:titleTextColor="@color/black" />

<View
android:id="@+id/w_view"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/divider_gray" />

<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="3dip"
android:progressDrawable="@drawable/progressbar"
android:visibility="gone"
/>

<WebView
android:id="@+id/mWebView"
android:layout_width="match_parent"
android:layout_height="match_parent" />

</LinearLayout>

+ 43
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_college_referencevideo.xml View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical"
tools:context=".ui.webview.CollegeReferencevideoActivity">

<androidx.appcompat.widget.Toolbar
android:id="@+id/referencevideo_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:navigationIcon="@drawable/icon_back"
app:title="@string/title_college_video"
app:titleTextColor="@color/black" />

<View
android:id="@+id/w_view"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/divider_gray" />

<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="3dip"
android:progressDrawable="@drawable/progressbar"
android:visibility="gone"
/>

<WebView
android:id="@+id/mWebView"
android:layout_width="match_parent"
android:layout_height="match_parent" />

</LinearLayout>

+ 44
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_college_trainingmodel.xml View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical"
tools:context=".ui.webview.CollegeTrainingmodelActivity">

<androidx.appcompat.widget.Toolbar
android:id="@+id/Trainingmodel_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:navigationIcon="@drawable/icon_back"
app:title="@string/title_college_training"
app:titleTextColor="@color/black" />

<View
android:id="@+id/w_view"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/divider_gray" />

<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="3dip"
android:progressDrawable="@drawable/progressbar"
android:visibility="gone"
/>

<WebView
android:id="@+id/mWebView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layerType="software" />

</LinearLayout>

+ 38
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_intelligent_poetry_writing.xml View File

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:background="@color/white"
android:orientation="vertical"
tools:context=".ui.poetry.IntelligentPoetryWritingActivity">

<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="3dip"
android:progressDrawable="@drawable/progressbar"
android:visibility="gone"
android:layout_marginTop="50dp"
/>


<WebView
android:id="@+id/mWebView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/progress"
/>


<ImageView
android:id="@+id/w_back"
android:layout_width="50dp"
android:layout_height="18dp"
android:layout_marginTop="16dp"
android:src="@drawable/back" />


</RelativeLayout>

+ 44
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_me_code_repository.xml View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/white"
tools:context=".ui.webview.MeCodeRepositoryActivity">

<androidx.appcompat.widget.Toolbar
android:id="@+id/MeCodeRepositoryActivity_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:navigationIcon="@drawable/icon_back"
app:title="@string/me_official_code_title"
app:titleTextColor="@color/black" />

<View
android:id="@+id/w_view"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/divider_gray" />

<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="3dip"
android:progressDrawable="@drawable/progressbar"
android:visibility="gone"
/>

<WebView
android:id="@+id/mWebView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>

</LinearLayout>

+ 43
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_me_officialwebsite.xml View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical"
tools:context=".ui.webview.MeOfficialwebsiteActivity">

<androidx.appcompat.widget.Toolbar
android:id="@+id/MeOfficialwebsiteActivity_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:navigationIcon="@drawable/icon_back"
app:title="@string/me_official_title"
app:titleTextColor="@color/black" />

<View
android:id="@+id/w_view"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/divider_gray" />

<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="3dip"
android:progressDrawable="@drawable/progressbar"
android:visibility="gone"
/>

<WebView
android:id="@+id/mWebView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

</LinearLayout>

+ 44
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_me_problem_feedback.xml View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/white"
tools:context=".ui.webview.MeProblemFeedbackActivity">

<androidx.appcompat.widget.Toolbar
android:id="@+id/MeProblemFeedbackActivity_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:navigationIcon="@drawable/icon_back"
app:title="@string/me_qa_title"
app:titleTextColor="@color/black" />

<View
android:id="@+id/w_view"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/divider_gray" />

<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="3dip"
android:progressDrawable="@drawable/progressbar"
android:visibility="gone"
/>

<WebView
android:id="@+id/mWebView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>

</LinearLayout>

+ 43
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_me_thumbsup.xml View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/white"
tools:context=".ui.webview.MeThumbsupActivity">

<androidx.appcompat.widget.Toolbar
android:id="@+id/MeThumbsupActivity_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:navigationIcon="@drawable/icon_back"
app:title="@string/me_up_title"
app:titleTextColor="@color/black" />

<View
android:id="@+id/w_view"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/divider_gray" />

<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="3dip"
android:progressDrawable="@drawable/progressbar"
android:visibility="gone"
/>

<WebView
android:id="@+id/mWebView"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>

</LinearLayout>

+ 39
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_my_qr_code.xml View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/my_relativelayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
tools:context=".ui.me.MyQRCodeActivity">

<androidx.appcompat.widget.Toolbar
android:id="@+id/segmentation_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:navigationIcon="@drawable/icon_back"
app:title="@string/me_my_qr_code"
app:titleTextColor="@color/black" />

<View
android:id="@+id/w_view"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@+id/segmentation_toolbar"
android:background="@color/divider_gray" />

<ImageView
android:id="@+id/img_origin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/segmentation_toolbar"
android:layout_centerInParent="true"
android:padding="50dp"
android:src="@mipmap/my_qr_code" />

</RelativeLayout>

+ 86
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_poetry_poster.xml View File

@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
tools:context=".ui.poetry.PoetryPosterActivity">

<RelativeLayout
android:id="@+id/w_linear"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="horizontal">

<ImageView
android:id="@+id/w_back"
android:layout_width="50dp"
android:layout_height="18dp"
android:layout_marginTop="16dp"
android:src="@drawable/back" />

<TextView
android:id="@+id/w_title"
android:layout_width="match_parent"
android:layout_height="54dp"
android:gravity="center"
android:text="@string/title_intelligent_poetry"
android:textColor="@color/text_black"
android:textSize="20sp"
android:textStyle="bold" />

</RelativeLayout>

<View
android:id="@+id/w_view"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@+id/w_linear"
android:background="@color/divider_gray" />

<com.mindspore.himindspore.ui.poetry.PoetryView
android:id="@+id/top_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/bottom_layout"
android:layout_below="@+id/w_view"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:layout_marginBottom="20dp" />

<LinearLayout
android:id="@+id/bottom_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal">

<Button
android:layout_marginEnd="5dp"
android:id="@+id/save_btn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="30dp"
android:layout_marginBottom="40dp"
android:layout_weight="1"
android:background="@drawable/item_bg_blue_rect"
android:text="@string/poem_save_poster"
android:textColor="@color/main_tab_text_checked"
android:textSize="18sp" />

<Button
android:layout_marginStart="5dp"
android:layout_weight="1"
android:id="@+id/share_btn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="30dp"
android:layout_marginBottom="40dp"
android:layout_toEndOf="@+id/save_btn"
android:background="@drawable/item_bg_blue_rect"
android:text="@string/poem_share_poster"
android:textColor="@color/main_tab_text_checked"
android:textSize="18sp" />
</LinearLayout>
</RelativeLayout>

+ 22
- 27
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_privacy_policy.xml View File

@@ -1,51 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".ui.main.PrivacyPolicyActivity">


<RelativeLayout
android:id="@+id/w_linear"
<androidx.appcompat.widget.Toolbar
android:id="@+id/brokenside_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="?attr/actionBarSize"
android:background="@color/white"
android:orientation="horizontal">

<ImageView
android:id="@+id/w_back"
android:layout_width="50dp"
android:layout_height="18dp"
android:layout_marginTop="16dp"
android:src="@drawable/back" />

<TextView
android:id="@+id/w_title"
android:layout_width="match_parent"
android:layout_height="54dp"
android:gravity="center"
android:text="@string/me_user_agreements"
android:textColor="@color/text_black"
android:textSize="20sp"
android:textStyle="bold" />

</RelativeLayout>
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:navigationIcon="@drawable/icon_back"
app:title="@string/me_user_agreements"
app:titleTextColor="@color/black" />

<View
android:id="@+id/w_view"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@id/w_linear"
android:background="@color/divider_gray" />


<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="3dip"
android:progressDrawable="@drawable/progressbar"
android:visibility="gone" />

<WebView
android:id="@+id/mWebView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/w_view"
android:layout_below="@id/progress"
android:layout_marginBottom="5dp" />


</RelativeLayout>
</LinearLayout>

+ 36
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/activity_web_view_utils.xml View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical"
tools:context=".ui.webview.WebViewUtilsActivity">

<androidx.appcompat.widget.Toolbar
android:id="@+id/OneHour_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:navigationIcon="@drawable/icon_back"
app:titleTextColor="@color/black" />

<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="3dip"
android:progressDrawable="@drawable/progressbar"
android:visibility="gone"
/>

<WebView
android:id="@+id/mWebView"
android:layout_width="match_parent"
android:layout_height="match_parent" />

</LinearLayout>

+ 0
- 1
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/btn_left_iamge_right_text.xml View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">



+ 0
- 1
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/fragment_college.xml View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">


+ 32
- 6
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/fragment_me.xml View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">

@@ -57,7 +58,7 @@
<TextView
style="@style/MeInfoTextLeftStyle"
android:layout_marginStart="20dp"
android:drawableStart="@drawable/me_share"
app:drawableStartCompat="@drawable/me_share"
android:drawablePadding="15dp"
android:gravity="center_vertical"
android:text="@string/me_share_title" />
@@ -71,6 +72,31 @@
android:background="@drawable/me_go" />
</RelativeLayout>

<RelativeLayout
android:id="@+id/rl_me_qr_code"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:paddingTop="29dp"
android:paddingBottom="29dp">

<TextView
style="@style/MeInfoTextLeftStyle"
android:layout_marginStart="20dp"
app:drawableStartCompat="@drawable/me_qr_code"
android:drawablePadding="15dp"
android:gravity="center_vertical"
android:text="@string/me_my_qr_code" />

<ImageView
android:layout_width="6dp"
android:layout_height="12dp"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="20dp"
android:background="@drawable/me_go" />
</RelativeLayout>

<RelativeLayout
android:id="@+id/rl_me_thumbsup"
android:layout_width="match_parent"
@@ -81,7 +107,7 @@
<TextView
style="@style/MeInfoTextLeftStyle"
android:layout_marginStart="20dp"
android:drawableStart="@drawable/me_up"
app:drawableStartCompat="@drawable/me_up"
android:drawablePadding="15dp"
android:gravity="center_vertical"
android:text="@string/me_up_title" />
@@ -105,7 +131,7 @@
<TextView
style="@style/MeInfoTextLeftStyle"
android:layout_marginStart="20dp"
android:drawableStart="@drawable/me_official"
app:drawableStartCompat="@drawable/me_official"
android:drawablePadding="15dp"
android:gravity="center_vertical"
android:text="@string/me_official_title" />
@@ -129,7 +155,7 @@
<TextView
style="@style/MeInfoTextLeftStyle"
android:layout_marginStart="20dp"
android:drawableStart="@drawable/me_official_code"
app:drawableStartCompat="@drawable/me_official_code"
android:drawablePadding="15dp"
android:gravity="center_vertical"
android:text="@string/me_official_code_title" />
@@ -153,7 +179,7 @@
<TextView
style="@style/MeInfoTextLeftStyle"
android:layout_marginStart="20dp"
android:drawableStart="@drawable/me_qa"
app:drawableStartCompat="@drawable/me_qa"
android:drawablePadding="15dp"
android:gravity="center_vertical"
android:text="@string/me_qa_title" />
@@ -177,7 +203,7 @@
<TextView
style="@style/MeInfoTextLeftStyle"
android:layout_marginStart="20dp"
android:drawableStart="@drawable/me_version"
app:drawableStartCompat="@drawable/me_version"
android:drawablePadding="15dp"
android:gravity="center_vertical"
android:text="@string/me_version_title" />


+ 62
- 32
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/fragment_vision.xml View File

@@ -14,9 +14,9 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingTop="30dp"
android:paddingBottom="30dp"
android:orientation="vertical">
android:paddingBottom="30dp">

<View
android:id="@+id/title_vertical_line_one"
@@ -52,16 +52,15 @@
android:layout_marginStart="18dp"
android:layout_marginTop="13dp"
android:background="@drawable/btn_vision_item"
android:drawableStart="@drawable/btn_test"
android:drawablePadding="5dp"
android:gravity="left|center_vertical"
android:maxLines="1"
android:onClick="onClickPhotoDetection"
android:paddingStart="4dp"
android:text="@string/title_object"
android:textAllCaps="false"
android:textColor="@color/text_black"
android:textSize="12sp"
app:drawableStartCompat="@drawable/btn_test"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/title_vertical_line_one"
app:layout_constraintWidth_percent="0.44"
@@ -73,16 +72,15 @@
android:layout_height="50dp"
android:layout_marginEnd="18dp"
android:background="@drawable/btn_vision_item"
android:drawableStart="@drawable/btn_video"
android:drawablePadding="5dp"
android:gravity="left|center_vertical"
android:maxLines="1"
android:onClick="onClickCameraDetection"
android:paddingStart="4dp"
android:text="@string/title_object_camera"
android:textAllCaps="false"
android:textColor="@color/text_black"
android:textSize="12sp"
app:drawableStartCompat="@drawable/btn_video"
app:layout_constraintBottom_toBottomOf="@+id/btn_object"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintWidth_percent="0.44" />
@@ -93,16 +91,15 @@
android:layout_height="50dp"
android:layout_marginTop="17dp"
android:background="@drawable/btn_vision_item"
android:drawableStart="@drawable/btn_posenet"
android:drawablePadding="5dp"
android:gravity="left|center_vertical"
android:maxLines="1"
android:onClick="onClickPoseNet"
android:paddingStart="4dp"
android:text="@string/title_pose_net"
android:textAllCaps="false"
android:textColor="@color/text_black"
android:textSize="12sp"
app:drawableStartCompat="@drawable/btn_posenet"
app:layout_constraintStart_toStartOf="@+id/btn_object"
app:layout_constraintTop_toBottomOf="@+id/btn_object"
app:layout_constraintWidth_percent="0.44" />
@@ -112,16 +109,15 @@
android:layout_width="0dp"
android:layout_height="50dp"
android:background="@drawable/btn_vision_item"
android:drawableStart="@drawable/btn_style"
android:drawablePadding="5dp"
android:gravity="left|center_vertical"
android:maxLines="1"
android:onClick="onClickStyleTransfer"
android:paddingStart="4dp"
android:text="@string/title_style_transfer"
android:textAllCaps="false"
android:textColor="@color/text_black"
android:textSize="12sp"
app:drawableStartCompat="@drawable/btn_style"
app:layout_constraintBottom_toBottomOf="@+id/btn_posenet"
app:layout_constraintEnd_toEndOf="@+id/btn_object_camera"
app:layout_constraintWidth_percent="0.44" />
@@ -133,16 +129,15 @@
android:layout_height="50dp"
android:layout_marginTop="17dp"
android:background="@drawable/btn_vision_item"
android:drawableStart="@drawable/btn_segment"
android:drawablePadding="5dp"
android:gravity="left|center_vertical"
android:maxLines="1"
android:onClick="onClickSegmentation"
android:paddingStart="4dp"
android:text="@string/title_segmentation"
android:textAllCaps="false"
android:textColor="@color/text_black"
android:textSize="12sp"
app:drawableStartCompat="@drawable/btn_segment"
app:layout_constraintStart_toStartOf="@+id/btn_posenet"
app:layout_constraintTop_toBottomOf="@+id/btn_posenet"
app:layout_constraintWidth_percent="0.44" />
@@ -154,58 +149,55 @@
android:layout_height="50dp"
android:layout_marginTop="30dp"
android:background="@drawable/btn_vision_item"
android:drawableStart="@drawable/btn_classification"
android:drawablePadding="5dp"
android:gravity="left|center_vertical"
android:maxLines="1"
android:onClick="onClickImage"
android:paddingStart="4dp"
android:text="@string/title_image"
android:textAllCaps="false"
android:textColor="@color/text_black"
android:textSize="12sp"
app:drawableStartCompat="@drawable/btn_classification"
app:layout_constraintBottom_toBottomOf="@+id/btn_segmentation"
app:layout_constraintEnd_toEndOf="@+id/btn_style_transfer"
app:layout_constraintWidth_percent="0.44" />


<Button
android:id="@+id/btn_image_garbage"
android:id="@+id/btn_scene"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginTop="17dp"
android:background="@drawable/btn_vision_item"
android:drawableStart="@drawable/btn_garbage"
android:drawablePadding="5dp"
android:gravity="left|center_vertical"
android:maxLines="1"
android:onClick="onClickGarbage"
android:paddingStart="4dp"
android:text="@string/title_image_garbage"
android:text="@string/title_scene"
android:textAllCaps="false"
android:textColor="@color/text_black"
android:textSize="12sp"
app:layout_constraintStart_toStartOf="@+id/btn_segmentation"
app:layout_constraintTop_toBottomOf="@+id/btn_segmentation"
app:drawableStartCompat="@drawable/btn_scene"
app:layout_constraintBottom_toBottomOf="@+id/btn_gesture"
app:layout_constraintEnd_toEndOf="@+id/btn_image"
app:layout_constraintWidth_percent="0.44" />


<Button
android:id="@+id/btn_scene"
android:id="@+id/btn_gesture"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginTop="17dp"
android:background="@drawable/btn_vision_item"
android:drawableStart="@drawable/btn_scene"
android:drawablePadding="5dp"
android:gravity="left|center_vertical"
android:maxLines="1"
android:onClick="onClickSceneDetection"
android:paddingStart="4dp"
android:text="@string/title_scene"
android:text="@string/title_gesture_recognition"
android:textAllCaps="false"
android:textColor="@color/text_black"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="@+id/btn_image_garbage"
app:layout_constraintEnd_toEndOf="@+id/btn_image"
app:drawableStartCompat="@drawable/btn_gesture_recognition"
app:layout_constraintStart_toStartOf="@+id/btn_segmentation"
app:layout_constraintTop_toBottomOf="@+id/btn_segmentation"
app:layout_constraintWidth_percent="0.44" />

<View
@@ -220,7 +212,7 @@
android:gravity="center_vertical"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/btn_image_garbage"
app:layout_constraintTop_toBottomOf="@id/btn_gesture"
app:layout_constraintWidth_percent="0.44" />

<TextView
@@ -236,18 +228,17 @@
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/btn_image_garbage"
app:layout_constraintTop_toBottomOf="@id/btn_gesture"
app:layout_constraintWidth_percent="0.44" />


<com.mindspore.himindspore.ui.view.LeftImageRightTextButton
<com.mindspore.himindspore.ui.view.MyButton
android:id="@+id/btn_image_Intelligent_poetry"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginTop="13dp"
android:background="@drawable/btn_vision_item"
android:maxLines="1"
android:onClick="onClickIntelligentPoetry"
android:paddingStart="4dp"
android:text="@string/title_intelligent_poetry"
android:textAllCaps="false"
@@ -257,6 +248,45 @@
app:layout_constraintTop_toBottomOf="@+id/title_vertical_line_two"
app:layout_constraintWidth_percent="0.44" />

<Button
android:id="@+id/btn_text_recognition"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginEnd="18dp"
android:background="@drawable/btn_vision_item"
android:drawablePadding="5dp"
android:gravity="left|center_vertical"
android:maxLines="1"
android:paddingStart="4dp"
android:text="@string/title_text_extraction"
android:textAllCaps="false"
android:textColor="@color/text_black"
android:textSize="12sp"
app:drawableStartCompat="@drawable/btn_text_extraction"
app:layout_constraintBottom_toBottomOf="@+id/btn_image_Intelligent_poetry"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintWidth_percent="0.44" />

<Button
android:id="@+id/btn_texttranslation"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginTop="17dp"
android:background="@drawable/btn_vision_item"
android:drawablePadding="5dp"
android:gravity="left|center_vertical"
android:maxLines="1"
android:paddingStart="4dp"
android:text="@string/title_texttranslation"
android:textAllCaps="false"
android:textColor="@color/text_black"
android:textSize="12sp"
app:drawableStartCompat="@drawable/btn_text_translation"
app:layout_constraintStart_toStartOf="@+id/btn_image_Intelligent_poetry"
app:layout_constraintTop_toBottomOf="@+id/btn_image_Intelligent_poetry"
app:layout_constraintWidth_percent="0.44" />


</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>


+ 36
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/image_intelligent_poetry_layout.xml View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
android:id="@+id/image_intelligent_poter"
android:layout_width="30dp"
android:layout_height="30dp"
android:src="@drawable/btn_intelligent_poetry"
/>

<TextView
android:id="@+id/text_poetry"
android:layout_toRightOf="@id/image_intelligent_poter"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_marginLeft="5dp"
android:gravity="center_vertical"
android:text="@string/title_intelligent_poetry"
android:textSize="12sp"
android:textColor="@color/text_black"
/>
<TextView
android:layout_toRightOf="@id/text_poetry"
android:id="@+id/text_new"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="7sp"
android:textColor="@color/text_red"
android:text="@string/title_intelligent_poetry_new"
android:textStyle="italic"
/>


</RelativeLayout>

+ 42
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/layout_poem.xml View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/poem_bg"
android:padding="20dp">

<TextView
android:layout_marginTop="20dp"
android:id="@+id/poemContent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/poem_frame"
android:gravity="center"
android:padding="60dp"
android:textColor="@color/black"
android:textSize="15sp" />

<TextView
android:id="@+id/illustrate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="由MindSpore AI技术生成"
android:textColor="@color/text_gray"
android:textSize="15sp" />

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/illustrate"
android:scaleType="fitXY"
android:src="@drawable/logo2" />

<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_alignBottom="@+id/illustrate"
android:layout_alignParentEnd="true"
android:src="@mipmap/my_qr_code" />

</RelativeLayout>

+ 36
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/my_button.xml View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:src="@drawable/btn_intelligent_poetry" />

<TextView
android:id="@+id/text_poetry"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_marginLeft="5dp"
android:layout_toRightOf="@id/btn"
android:gravity="center_vertical"
android:text="@string/title_intelligent_poetry"
android:textColor="@color/text_black"
android:textSize="12sp" />

<TextView
android:id="@+id/text_new"
android:layout_width="18dp"
android:layout_height="36dp"
android:layout_marginLeft="3dp"
android:layout_toRightOf="@id/text_poetry"
android:gravity="center_vertical"
android:text="@string/title_intelligent_poetry_new"
android:textColor="@color/text_red"
android:textSize="7sp"
android:textStyle="italic" />


</RelativeLayout>

+ 33
- 0
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/layout/save_qr_code_popupwindo.xml View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/item_qrcode"
tools:ignore="MissingDefaultResource">

<TextView
android:id="@+id/my_save_picture"
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center"
android:text="@string/app_save_picture"
android:onClick="onClickSave"
android:textColor="@color/black"
android:textSize="14sp" />
<View
android:id="@+id/w_view"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/divider_gray" />
<TextView
android:id="@+id/my_cancel"
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center"
android:text="@string/app_cancel"
android:textColor="@color/black"
android:textSize="14sp" />

</LinearLayout>

model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-hdpi/ic_launcher.png → model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-hdpi/ic_launchers.png View File


model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-hdpi/ic_launcher_round.png → model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-hdpi/ic_launchers_round.png View File


model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-mdpi/ic_launcher.png → model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-mdpi/ic_launchers.png View File


model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-mdpi/ic_launcher_round.png → model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-mdpi/ic_launchers_round.png View File


model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-xhdpi/ic_launcher.png → model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-xhdpi/ic_launchers.png View File


model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png → model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-xhdpi/ic_launchers_round.png View File


model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-xxhdpi/ic_launcher.png → model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-xxhdpi/ic_launchers.png View File


model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png → model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-xxhdpi/ic_launchers_round.png View File


model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png → model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-xxxhdpi/ic_launchers.png View File


model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png → model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-xxxhdpi/ic_launchers_round.png View File


BIN
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/mipmap-xxxhdpi/my_qr_code.jpg View File

Before After
Width: 3094  |  Height: 3094  |  Size: 470 kB

+ 21
- 6
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/values-en/strings.xml View File

@@ -11,16 +11,24 @@
<string name="app_wait">"Please wait..."</string>
<string name="app_load_fail">"download failed"</string>
<string name="app_update_lastest">Upgrade to a new version</string>
<string name="app_save_picture">Save Picture</string>
<string name="app_cancel">Cancel</string>
<string name="title_image">Image Classification</string>
<string name="title_image_garbage">Garbage Classification</string>
<string name="title_intelligent_poetry">Intelligent poetry</string>
<string name="title_intelligent_poetry_new">NEW</string>
<string name="title_object">Photo Detection</string>
<string name="title_object_camera">Camera Detection</string>
<string name="title_object">Object Detection(Photo)</string>
<string name="title_object_camera">Object Detection(Real-time)</string>
<string name="title_pose_net">PoseNet</string>
<string name="title_style_transfer">Style Transfer</string>
<string name="title_segmentation">Image Segmentation</string>

<string name="title_segmentation">Portrait Segmentation</string>
<string name="title_college_faq">FAQ</string>
<string name="title_college_one_hour">One hour experience</string>
<string name="title_college_forum">Forum questions</string>
<string name="title_college_training">Training model</string>
<string name="title_college_perform">Perform reasoning</string>
<string name="title_college_broken_side">Broken side application</string>
<string name="title_college_video">Reference video</string>
<string name="title_source">Code</string>
<string name="title_scene">Scene Detection</string>
<string name="title_help">FeedBack</string>
@@ -28,7 +36,6 @@
<string name="title_version">"Version: "</string>
<string name="title_share">Share</string>
<string name="title_share_commend">MindSpore掌中宝:A one-stop platform of collaborative learning, demonstrating, and experiencing for AI users.\t</string>

<string name="main_tab_title_one">Experience</string>
<string name="main_tab_title_two">College</string>
<string name="main_tab_title_three">Me</string>
@@ -42,6 +49,7 @@

<string name="me_title">Me</string>
<string name="me_share_title">Share</string>
<string name="me_my_qr_code">My QR Code</string>
<string name="me_up_title">Like</string>
<string name="me_qa_title">Feedback</string>
<string name="me_agree">agree</string>
@@ -69,7 +77,6 @@
<string name="college_ask_title">Ask on forum</string>
<string name="college_light_title">~Illuminate your learning trip~</string>
<string name="college_adapter_view">View</string>

<string name="college_dialog_title">Summary</string>
<string name="college_dialog_content">\t\t MindSpore is an ALL-Scenario AI Computing Framework developed by Huawei.
It takes into account the flexibility of academic research and high performance required by industry.
@@ -82,4 +89,12 @@
creating all-inclusive AI applications and building AI Ecology with us.\n
</string>
<string name="splash_count_down">s</string>
<string name="poem_save_share">save and share the picture</string>
<string name="poem_save_poster">save the picture</string>
<string name="poem_share_poster">share the picture</string>
<string name="poem_save_success">save successfully</string>
<string name="me_user_agreements">User Agreement and Privacy Policy</string>
<string name="save_failure">Save failure</string>


</resources>

+ 18
- 6
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/values-zh/strings.xml View File

@@ -11,15 +11,17 @@
<string name="app_wait">"请稍候..."</string>
<string name="app_load_fail">"下载失败"</string>
<string name="app_update_lastest">"请升级新版本"</string>
<string name="app_save_picture">保存图片</string>
<string name="app_cancel">取消</string>
<string name="title_image">图像分类</string>
<string name="title_image_garbage">垃圾分类</string>
<string name="title_intelligent_poetry">智能写诗</string>
<string name="title_intelligent_poetry_new">NEW</string>
<string name="title_object">照片检测</string>
<string name="title_object_camera">视频检测</string>
<string name="title_object">对象检测(图片)</string>
<string name="title_object_camera">对象检测(实时)</string>
<string name="title_pose_net"> 骨骼检测</string>
<string name="title_style_transfer">风格迁移</string>
<string name="title_segmentation">像分割</string>
<string name="title_segmentation">像分割</string>
<string name="title_source">代码</string>
<string name="title_scene">场景检测</string>
<string name="title_help">反馈</string>
@@ -27,11 +29,9 @@
<string name="title_version">版本号: </string>
<string name="title_share">分享</string>
<string name="title_share_commend">MindSpore掌中宝:AI爱好者的一站式协同学习、演示、体验平台\t</string>

<string name="main_tab_title_one">体验</string>
<string name="main_tab_title_two">学院</string>
<string name="main_tab_title_three">我的</string>

<string name="tab_experience_one">视觉图像技术</string>
<string name="tab_speech_two">语音语义技术</string>

@@ -41,11 +41,19 @@

<string name="me_title">我的</string>
<string name="me_share_title">一键分享</string>
<string name="me_my_qr_code">我的二维码</string>
<string name="me_up_title">一键点赞</string>
<string name="me_qa_title">问题反馈</string>
<string name="me_version_title">版本号</string>
<string name="me_official_title">官方网站</string>
<string name="me_official_code_title">官方代码仓</string>
<string name="title_college_faq">FAQ</string>
<string name="title_college_one_hour">一小时体验</string>
<string name="title_college_forum">论坛提问</string>
<string name="title_college_training">训练模型</string>
<string name="title_college_perform">执行推理</string>
<string name="title_college_broken_side">端侧应用</string>
<string name="title_college_video">参考视频</string>
<string name="me_agree">同意</string>
<string name="me_disagree_and_exit">不同意并退出</string>
<string name="me_user_agreement">《用户协议和隐私政策》</string>
@@ -67,12 +75,16 @@
<string name="college_ask_title">论坛提问</string>
<string name="college_light_title">~点亮您的学习之旅~</string>
<string name="college_adapter_view">查看</string>

<string name="college_dialog_title">简介</string>
<string name="college_dialog_content">\t\t\t MindSpore是华为自研的全场景AI计算框架,
兼顾学术界研究的灵活性与工业界的高性能要求,支持端边云全场景业务,为开发者带来编程更简单、调试更轻松、性能更卓越、部署更灵活的体验。\n\n
\t\t\t MindSpore致力于构筑面向全球的开源社区,持续推动AI软硬件应用开源生态繁荣发展,已于2020年3月28日开源。\n\n
\t\t\t 版本在不断迭代更新中,MindSpore也会持续提供更多的学习资源、支持与服务,欢迎各行各业的开发者与伙伴深度参与、贡献智慧,打造无所不及的AI应用,与我们共建AI生态。\n</string>
<string name="splash_count_down">秒</string>
<string name="poem_save_share">保存分享图片</string>
<string name="poem_save_poster">保存图片</string>
<string name="poem_share_poster">分享图片</string>
<string name="poem_save_success">保存成功</string>
<string name="save_failure">保存失败</string>

</resources>

+ 19
- 5
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/values/strings.xml View File

@@ -10,16 +10,24 @@
<string name="app_wait">"请稍候..."</string>
<string name="app_load_fail">"下载失败"</string>
<string name="app_update_lastest">"请升级新版本"</string>
<string name="app_save_picture">保存图片</string>
<string name="app_cancel">取消</string>
<string name="title_image">Image Classification</string>
<string name="title_image_garbage">Garbage Classification</string>
<string name="title_intelligent_poetry">Intelligent poetry</string>
<string name="title_intelligent_poetry_new">NEW</string>
<string name="title_object">Photo Detection</string>
<string name="title_object_camera">Camera Detection</string>
<string name="title_object">Object Detection(Photo)</string>
<string name="title_object_camera">Object Detection(Real-time)</string>
<string name="title_pose_net">PoseNet</string>
<string name="title_style_transfer">Style Transfer</string>
<string name="title_segmentation">Image Segmentation</string>

<string name="title_segmentation">Portrait Segmentation</string>
<string name="title_college_faq">FAQ</string>
<string name="title_college_one_hour">一小时体验</string>
<string name="title_college_forum">论坛提问</string>
<string name="title_college_training">训练模型</string>
<string name="title_college_perform">执行推理</string>
<string name="title_college_broken_side">端侧应用</string>
<string name="title_college_video">参考视频</string>
<string name="title_source">Code</string>
<string name="title_scene">Scene Detection</string>
<string name="title_help">FeedBack</string>
@@ -44,6 +52,7 @@
<!-- me fragment -->
<string name="me_title">我的</string>
<string name="me_share_title">一键分享</string>
<string name="me_my_qr_code">我的二维码</string>
<string name="me_up_title">一键点赞</string>
<string name="me_official_title">官方网站</string>
<string name="me_official_code_title">官方代码仓</string>
@@ -66,7 +75,6 @@
<string name="college_faq_title">FAQ</string>
<string name="college_ask_title">论坛提问</string>
<string name="college_light_title">~点亮您的学习之旅~</string>

<string name="college_adapter_view">查看</string>
<string name="college_dialog_title">简介</string>
<string name="college_dialog_content">\t\t\tMindSpore是华为自研的全场景AI计算框架,
@@ -75,4 +83,10 @@
\t\t\t版本在不断迭代更新中,MindSpore也会持续提供更多的学习资源、支持与服务,欢迎各行各业的开发者与伙伴深度参与、贡献智慧,打造无所不及的AI应用,与我们共建AI生态。\n</string>
<string name="college_execute_title">" "</string>

<string name="poem_save_poster">保存图片</string>
<string name="poem_share_poster">分享图片</string>
<string name="poem_save_success">保存成功</string>
<string name="poem_save_share">保存分享图片</string>
<string name="save_failure">保存失败</string>

</resources>

+ 4
- 2
model_zoo/official/lite/MindSpore_inhand/app/src/main/res/values/styles.xml View File

@@ -13,8 +13,10 @@
<item name="android:buttonBarStyle">?android:attr/buttonBarStyle</item>
</style>



<style name="anims" parent="AppTheme">
<item name="android:windowEnterAnimation">@anim/anim_enter</item>
<item name="android:windowExitAnimation">@anim/anim_exit</item>
</style>

<!-- Text style "" -->
<!-- Add this snippet to styles.xml. -->


+ 3
- 0
model_zoo/official/lite/MindSpore_inhand/build.gradle View File

@@ -5,10 +5,12 @@ buildscript {
jcenter()
mavenCentral()
maven { url "https://jitpack.io" }
maven {url 'https://developer.huawei.com/repo/'}

}
dependencies {
classpath "com.android.tools.build:gradle:4.0.1"
classpath 'com.huawei.agconnect:agcp:1.4.2.300'
}
}

@@ -18,6 +20,7 @@ allprojects {
jcenter()
mavenCentral()
maven { url "https://jitpack.io" }
maven {url 'https://developer.huawei.com/repo/'}
}
}



+ 1
- 0
model_zoo/official/lite/MindSpore_inhand/common/src/main/java/com/mindspore/common/sp/Preferences.java View File

@@ -11,6 +11,7 @@ public final class Preferences {
public static final String KEY_COLLEGE_VIDEO = "preferences_college_video";
public static final String KEY_COLLEGE_FAQ = "preferences_college_faq";
public static final String KEY_COLLEGE_ASK = "preferences_college_ask";
public static final String API_KEY = "CgB6e3x9ss3nul/jhX9/4Y54MU0plgs6E1bW5SY8YQnq/uWhQHRxVGTf5Jl9f5NjRpvl0QV3Ft9sPihQ/PSL6RjC";
public static final String KEY_PRIVACY = "preferences_privacy";
public static final String[] KEY_COLLEGE_QUICK_ARRAY = new String[]{KEY_COLLEGE_TRAIN,KEY_COLLEGE_EXECUTE,KEY_COLLEGE_APP,KEY_COLLEGE_VIDEO};
}

+ 129
- 0
model_zoo/official/lite/MindSpore_inhand/common/src/main/java/com/mindspore/common/utils/ImageUtils.java View File

@@ -0,0 +1,129 @@
package com.mindspore.common.utils;

import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.media.MediaScannerConnection;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;

import androidx.core.content.FileProvider;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class ImageUtils {

private static final String TAG = "BitmapUtils";


private static Bitmap loadBitmapFromView(View v, boolean isNeedCrop) {
int w = v.getWidth();
int h = v.getHeight();

Bitmap bmp = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(bmp);
v.layout((int) v.getX(), (int) v.getY(),
(int) v.getX() + w, (int) v.getY() + h);
v.draw(c);
return isNeedCrop ? Bitmap.createBitmap(bmp, 0, 0, w / 10 * 9, h / 10 * 9, null, false) : bmp;
}


private static Uri sharePic(Context context, Bitmap cachebmp, String child) {
final File qrImage = new File(Environment.getExternalStorageDirectory(), child + ".jpg");
if (qrImage.exists()) {
qrImage.delete();
}
try {
qrImage.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
FileOutputStream fOut = null;
try {
fOut = new FileOutputStream(qrImage);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
if (cachebmp == null) {
return null;
}
cachebmp.compress(Bitmap.CompressFormat.JPEG, 100, fOut);
try {
fOut.flush();
fOut.close();
} catch (IOException e) {
e.printStackTrace();
}
Uri photoUri = FileProvider.getUriForFile(
context, context.getPackageName() + ".fileprovider", qrImage);
return photoUri;
}


// Save the picture to the system album and refresh it.
public static Uri saveToAlbum(Context context, View view, String child, boolean isNeedCrop) {
Bitmap cachebmp = loadBitmapFromView(view, isNeedCrop);
File file = null;
String fileName = TextUtils.isEmpty(child) ? System.currentTimeMillis() + ".jpg" : child + ".jpg";
File root = new File(Environment.getExternalStorageDirectory().getAbsoluteFile(), context.getPackageName());
File dir = new File(root, "image");
if (dir.mkdirs() || dir.isDirectory()) {
file = new File(dir, fileName);
}
FileOutputStream os = null;
try {
os = new FileOutputStream(file);
cachebmp.compress(Bitmap.CompressFormat.JPEG, 100, os);
os.flush();

} catch (FileNotFoundException e) {
Log.e(TAG, e.getMessage());
} catch (IOException e) {
Log.e(TAG, e.getMessage());
} finally {
try {
if (os != null) {
os.close();
}
} catch (IOException e) {
Log.e(TAG, e.getMessage());
}
}
if (file == null) {
return null;
}
// Gallery refresh.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
String path = null;
try {
path = file.getCanonicalPath();
} catch (IOException e) {
Log.e(TAG, e.getMessage());
}
MediaScannerConnection.scanFile(context, new String[]{path}, null,
(path1, uri) -> {
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
mediaScanIntent.setData(uri);
context.sendBroadcast(mediaScanIntent);
});
} else {
String relationDir = file.getParent();
File file1 = new File(relationDir);
context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.fromFile(file1.getAbsoluteFile())));
}

Uri photoUri = FileProvider.getUriForFile(
context, context.getPackageName() + ".fileprovider", file);
return photoUri;
}

}

+ 31
- 0
model_zoo/official/lite/MindSpore_inhand/common/src/main/java/com/mindspore/common/utils/StringUtils.java View File

@@ -0,0 +1,31 @@
package com.mindspore.common.utils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class StringUtils {


public static boolean checkChar(char ch) {
return (ch + "").getBytes().length == 1;
}

public static boolean isChinese(String str) {
String regEx1 = "[\\u4e00-\\u9fa5]+";
String regEx2 = "[\\uFF00-\\uFFEF]+";
String regEx3 = "[\\u2E80-\\u2EFF]+";
String regEx4 = "[\\u3000-\\u303F]+";
String regEx5 = "[\\u31C0-\\u31EF]+";
Pattern p1 = Pattern.compile(regEx1);
Pattern p2 = Pattern.compile(regEx2);
Pattern p3 = Pattern.compile(regEx3);
Pattern p4 = Pattern.compile(regEx4);
Pattern p5 = Pattern.compile(regEx5);
Matcher m1 = p1.matcher(str);
Matcher m2 = p2.matcher(str);
Matcher m3 = p3.matcher(str);
Matcher m4 = p4.matcher(str);
Matcher m5 = p5.matcher(str);
return m1.find() || m2.find() || m3.find() || m4.find() || m5.find();
}
}

+ 11
- 0
model_zoo/official/lite/MindSpore_inhand/common/src/main/res/menu/menu_setting_qr.xml View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<item
android:id="@+id/item_more_qr"
android:title="more"
android:orderInCategory="2"
android:icon="@drawable/icon_more"
app:showAsAction="always"/>
</menu>

+ 1
- 1
model_zoo/official/lite/MindSpore_inhand/common/src/main/res/values-en/strings.xml View File

@@ -9,7 +9,7 @@
<string name="explain_garbage_classification">Garbage classification identifies the garbage category of the object detected by the camera lens.</string>
<string name="explain_scene_detection">Scene detection can estimate the category of the target scene.</string>
<string name="explain_title">Summary</string>
<string name="segmentation_toolbar_title">Image Segmentation</string>
<string name="segmentation_toolbar_title">Portrait Segmentation</string>
<string name="style_transfer_title">Style Transfer</string>
<string name="posenet_activity_title">PoseNet</string>
<string name="image_scene_title">Scene Detection</string>


+ 1
- 1
model_zoo/official/lite/MindSpore_inhand/common/src/main/res/values-zh/strings.xml View File

@@ -9,7 +9,6 @@
<string name="explain_garbage_classification">垃圾分类可识别出镜头中物体所属的垃圾类别。</string>
<string name="explain_scene_detection">场景检测可以判断目标场景的类型。</string>
<string name="explain_title">简要说明</string>
<string name="segmentation_toolbar_title">图像分割</string>
<string name="style_transfer_title">风格迁移</string>
<string name="posenet_activity_title">骨骼检测</string>
<string name="image_scene_title">场景检测</string>
@@ -17,4 +16,5 @@
<string name="image_camera_title">图像分类</string>
<string name="object_camery_title">视频检测</string>
<string name="activity_photo_title">照片检测</string>
<string name="segmentation_toolbar_title">人像分割</string>
</resources>

+ 1
- 1
model_zoo/official/lite/MindSpore_inhand/common/src/main/res/values/strings.xml View File

@@ -18,6 +18,6 @@
<string name="image_scene_title">场景检测</string>
<string name="posenet_activity_title">骨骼检测</string>
<string name="style_transfer_title">风格迁移</string>
<string name="segmentation_toolbar_title">像分割</string>
<string name="segmentation_toolbar_title">像分割</string>

</resources>

+ 1
- 0
model_zoo/official/lite/MindSpore_inhand/hms/.gitignore View File

@@ -0,0 +1 @@
/build

+ 95
- 0
model_zoo/official/lite/MindSpore_inhand/hms/build.gradle View File

@@ -0,0 +1,95 @@
plugins {
id 'com.android.library'
}

android {
compileSdkVersion 30
buildToolsVersion "30.0.1"

defaultConfig {
minSdkVersion 21
targetSdkVersion 30
versionCode 1
versionName "1.0"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
javaCompileOptions {
annotationProcessorOptions {
arguments = [AROUTER_MODULE_NAME: project.getName()]
}
}
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
aaptOptions {
noCompress "ms"
}

lintOptions {
checkReleaseBuilds false
// Or, if you prefer, you can continue to check for errors in release builds,
// but continue the build even when errors are found:
abortOnError false
}

repositories {
google()
jcenter()

}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}

dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.appcompat:appcompat:1.3.0-alpha02'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation project(path: ':common')
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
implementation 'com.alibaba:arouter-api:1.5.1'
annotationProcessor 'com.alibaba:arouter-compiler:1.5.1'

implementation 'com.huawei.hms:ml-computer-vision-segmentation:2.2.0.300'
implementation 'com.huawei.hms:ml-computer-vision-image-segmentation-multiclass-model:2.2.0.300'
implementation 'com.huawei.hms:ml-computer-vision-image-segmentation-body-model:2.2.0.300'
implementation 'com.huawei.hms:ml-computer-vision-image-segmentation-hair-model:2.2.0.300'

implementation 'com.huawei.hms:ml-computer-vision-ocr:2.0.5.300'
implementation 'com.huawei.hms:ml-computer-vision-ocr-latin-model:2.0.5.300'
implementation 'com.huawei.hms:ml-computer-vision-ocr-jk-model:2.0.5.300'
implementation 'com.huawei.hms:ml-computer-vision-ocr-cn-model:2.0.5.300'

implementation 'com.huawei.hms:ml-computer-vision-skeleton:2.0.4.300'
implementation 'com.huawei.hms:ml-computer-vision-skeleton-model:2.0.4.300'
implementation 'com.huawei.hms:ml-computer-vision-yoga-model:2.0.4.300'

implementation 'com.huawei.hms:ml-computer-vision-scenedetection:2.0.3.300'
implementation 'com.huawei.hms:ml-computer-vision-scenedetection-model:2.0.3.300'

implementation 'com.huawei.hms:ml-computer-vision-handkeypoint:2.1.0.300'
implementation 'com.huawei.hms:ml-computer-vision-handkeypoint-model:2.1.0.300'
implementation 'com.huawei.hms:ml-computer-vision-gesture-model:2.1.0.300'

implementation 'com.huawei.hms:ml-computer-translate:2.2.0.300'
implementation 'com.huawei.hms:ml-computer-translate-model:2.2.0.300'
implementation 'com.huawei.hms:ml-computer-language-detection:2.2.0.300'
implementation 'com.huawei.hms:ml-computer-language-detection-model:2.2.0.300'

}

+ 0
- 0
model_zoo/official/lite/MindSpore_inhand/hms/consumer-rules.pro View File


model_zoo/official/lite/MindSpore_inhand/posenet/proguard-rules.pro → model_zoo/official/lite/MindSpore_inhand/hms/proguard-rules.pro View File


+ 207
- 0
model_zoo/official/lite/MindSpore_inhand/hms/senceDetection View File

@@ -0,0 +1,207 @@
beach
bluesky
sunset
food
flower
greenplant
snow
night
text
cat
dog
fireworks
overcast
fallen
panda
car
oldbuildings
bicycle
waterfall
playground
corridor
cabin
washroom
kitchen
bedroom
diningroom
livingroom
skyscraper
bridge
waterside
mountain
overlook
construction
islam
european
footballfield
baseballfield
tenniscourt
carinside
badmintoncourt
pingpangcourt
swimmingpool
alpaca
library
supermarket
restaurant
tiger
penguin
elephant
dinosaur
watersurface
indoorbasketballcourt
bowlingalley
classroom
rabbit
rhinoceros
camel
tortoise
leopard
giraffe
peacock
kangaroo
lion
motorcycle
aircraft
train
ship
glasses
watch
highwheels
washingmachine
airconditioner
camera
map
keyboard
redenvelope
fucharacter
xicharacter
dragondance
liondance
go
teddybear
transformer
thesmurfs
littlepony
butterfly
ladybug
dragonfly
billiardroom
meetingroom
office
bar
mallcourtyard
deer
cathedralhall
bee
helicopter
mahjong
chess
McDonalds
ornamentalfish
widebuildings



沙滩
蓝天
日出日落
美食
花朵
绿植
雪景
夜景
文字
烟花
阴天
秋叶
熊猫
汽车
中式建筑
自行车
瀑布
游乐场
走廊巷道
火车飞机内部
卫生间
厨房
卧室
餐厅
客厅
摩天大楼+塔
桥梁
海滨/湖滨
山峰
城市俯瞰
工地
伊斯兰式建筑
欧式建筑
足球场
棒球场
网球场
轿车内部
羽毛球馆
乒乓球馆
游泳馆
羊驼
图书馆
超市
饭店
老虎
企鹅
大象
恐龙
水面
室内篮球场
保龄球馆
教室
兔子
犀牛
骆驼
乌龟
豹子
长颈鹿
孔雀
袋鼠
狮子
电动车/摩托车
飞机
火车
轮船
眼镜
手表
高跟鞋
洗衣机
空调
相机
地图
键盘
红包
福 字
囍 字
舞龙
舞狮
围棋
泰迪熊
京剧脸谱
蓝精灵
小马宝莉
蝴蝶
瓢虫
蜻蜓
桌球房
会议室
办公室
酒吧
商场中庭
梅花鹿
教堂正厅
蜜蜂
直升机
麻将
象棋
麦当劳
观赏鱼
广角城楼

model_zoo/official/lite/MindSpore_inhand/posenet/src/androidTest/java/com/mindspore/posenet/ExampleInstrumentedTest.java → model_zoo/official/lite/MindSpore_inhand/hms/src/androidTest/java/com/mindspore/hms/ExampleInstrumentedTest.java View File

@@ -1,14 +1,14 @@
package com.mindspore.posenet;
package com.mindspore.hms;

import android.content.Context;

import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.ext.junit.runners.AndroidJUnit4;

import org.junit.Test;
import org.junit.runner.RunWith;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.*;

/**
* Instrumented test, which will execute on an Android device.
@@ -21,6 +21,6 @@ public class ExampleInstrumentedTest {
public void useAppContext() {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
assertEquals("com.mindspore.posenet", appContext.getPackageName());
assertEquals("com.mindspore.hms.test", appContext.getPackageName());
}
}

+ 62
- 0
model_zoo/official/lite/MindSpore_inhand/hms/src/main/AndroidManifest.xml View File

@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mindspore.hms">

<application
android:allowBackup="true"
android:label="@string/app_name"
android:supportsRtl="true">
<activity
android:name=".ImageSegmentation.PortraitSegmentationActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar"/>
<activity
android:name=".bonedetection.PosenetMainActivitys"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".bonedetection.LiveSkeletonAnalyseActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".texttranslation.TextTranslationRealTimeActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".gesturerecognition.LiveHandGestureAnalyseActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".texttranslation.TextTranslationActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".gesturerecognition.StillHandGestureAnalyseActivity"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".textrecognition.VideoTextRecognitionActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".scenedetection.SenceDetectionStillAnalyseActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".scenedetection.SenceDetectionLiveAnalyseActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".ImageSegmentation.ImageSegmentationActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".ImageSegmentation.ImageSegmentationLiveAnalyseActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name=".textrecognition.TextRecognitionActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar" />
</application>

</manifest>

+ 59
- 0
model_zoo/official/lite/MindSpore_inhand/hms/src/main/assets/Country_pair_new.txt View File

@@ -0,0 +1,59 @@
Afrikaans af
Arabic ar
Bulgarian bg
Bengali bn
Catalan ca
Czech cs
Welsh cy
Danish da
German de
Greek el
English en
Spanish es
Estonian et
Finnish fi
French fr
Gujarati gu
Hebrew he
Hindi hi
Croatian hr
Hungarian hu
Indonesian id
Italian it
Japanese ja
Kannada kn
Korean ko
Lithuanian lt
Macedonian mk
Malayalam ml
Marathi mr
Dutch nl
Punjabi pa
Polish pl
Portuguese pt
Romanian ro
Russian ru
Slovak sk
Slovenian sl
Somali so
Albanian sq
Swedish sv
Tamil ta
Telugu te
Thai th
Tagalog tl
Turkish tr
Ukrainian uk
Urdu ur
Vietnamese vi
Chinese zh
Malaysian ms
Norwegian no
Chinese(Traditional) zh-HK
Serbian sr
Myanmar my
Khmer km
Persian fa
Latvian lv
Filipino tl
Chinese(Traditional) zh-hk

model_zoo/official/lite/MindSpore_inhand/segmentation/src/main/java/com/mindspore/imagesegmentation/help/BitmapUtils.java → model_zoo/official/lite/MindSpore_inhand/hms/src/main/java/com/mindspore/hms/BitmapUtils.java View File

@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.mindspore.imagesegmentation.help;
package com.mindspore.hms;

import android.app.Activity;
import android.content.ContentResolver;
@@ -23,13 +23,11 @@ import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.graphics.RectF;
import android.media.ExifInterface;
import android.media.MediaScannerConnection;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.provider.MediaStore;
import android.util.Log;

import java.io.ByteArrayInputStream;
@@ -39,21 +37,10 @@ import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;

public class BitmapUtils {
private static final String TAG = "BitmapUtils";

public static void recycleBitmap(Bitmap... bitmaps) {
for (Bitmap bitmap : bitmaps) {
if (bitmap != null && !bitmap.isRecycled()) {
bitmap.recycle();
bitmap = null;
}
}
}

public static Bitmap getBitmapFormUri(Activity ac, Uri uri) {
Bitmap bitmap = null;
try {
@@ -110,13 +97,13 @@ public class BitmapUtils {
ByteArrayInputStream isBm = new ByteArrayInputStream(baos.toByteArray());
Bitmap bitmap = BitmapFactory.decodeStream(isBm, null, null);
return bitmap;
}else {
} else {
return null;
}
}

public static File getFileFromMediaUri(Context ac, Uri uri) {
if (uri.getScheme().toString().compareTo("content") == 0) {
if (uri.getScheme().compareTo("content") == 0) {
ContentResolver cr = ac.getContentResolver();
Cursor cursor = cr.query(uri, null, null, null, null);
if (cursor != null) {
@@ -127,7 +114,7 @@ public class BitmapUtils {
return new File(filePath);
}
}
} else if (uri.getScheme().toString().compareTo("file") == 0) {
} else if (uri.getScheme().compareTo("file") == 0) {
return new File(uri.toString().replace("file://", ""));
}
return null;
@@ -173,48 +160,22 @@ public class BitmapUtils {
return returnBm;
}

public static Bitmap scaleBitmapAndKeepRatio(Bitmap targetBmp, int reqHeightInPixels, int reqWidthInPixels) {
if (targetBmp.getHeight() == reqHeightInPixels && targetBmp.getWidth() == reqWidthInPixels) {
return targetBmp;
}

Matrix matrix = new Matrix();
matrix.setRectToRect(new RectF(0f, 0f,
targetBmp.getWidth(),
targetBmp.getHeight()
), new RectF(0f, 0f,
reqWidthInPixels,
reqHeightInPixels
), Matrix.ScaleToFit.FILL);

return Bitmap.createBitmap(
targetBmp, 0, 0,
targetBmp.getWidth(),
targetBmp.getHeight(), matrix, true
);
}

public static ByteBuffer bitmapToByteBuffer(Bitmap bitmapIn, int width, int height, float mean, float std) {
Bitmap bitmap = scaleBitmapAndKeepRatio(bitmapIn, width, height);
ByteBuffer inputImage = ByteBuffer.allocateDirect(1 * width * height * 3 * 4);
inputImage.order(ByteOrder.nativeOrder());
inputImage.rewind();
int[] intValues = new int[width * height];
bitmap.getPixels(intValues, 0, width, 0, 0, width, height);
int pixel = 0;
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
int value = intValues[pixel++];
inputImage.putFloat(((float) (value >> 16 & 255) - mean) / std);
inputImage.putFloat(((float) (value >> 8 & 255) - mean) / std);
inputImage.putFloat(((float) (value & 255) - mean) / std);
}
}
inputImage.rewind();
return inputImage;
// Scale pictures to screen width.
public static Bitmap zoomImage(Bitmap imageBitmap, int targetWidth, int maxHeight) {
float scaleFactor =
Math.max(
(float) imageBitmap.getWidth() / (float) targetWidth,
(float) imageBitmap.getHeight() / (float) maxHeight);
Bitmap resizedBitmap =
Bitmap.createScaledBitmap(
imageBitmap,
(int) (imageBitmap.getWidth() / scaleFactor),
(int) (imageBitmap.getHeight() / scaleFactor),
true);

return resizedBitmap;
}


// Save the picture to the system album and refresh it.
public static void saveToAlbum(final Context context, Bitmap bitmap) {
File file = null;
@@ -255,13 +216,10 @@ public class BitmapUtils {
Log.e(TAG, e.getMessage());
}
MediaScannerConnection.scanFile(context, new String[]{path}, null,
new MediaScannerConnection.OnScanCompletedListener() {
@Override
public void onScanCompleted(String path, Uri uri) {
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
mediaScanIntent.setData(uri);
context.sendBroadcast(mediaScanIntent);
}
(path1, uri) -> {
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
mediaScanIntent.setData(uri);
context.sendBroadcast(mediaScanIntent);
});
} else {
String relationDir = file.getParent();

+ 227
- 0
model_zoo/official/lite/MindSpore_inhand/hms/src/main/java/com/mindspore/hms/ImageSegmentation/ImageSegmentationActivity.java View File

@@ -0,0 +1,227 @@
/**
* Copyright 2021 Huawei Technologies Co., Ltd
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.mindspore.hms.ImageSegmentation;

import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.util.Log;
import android.util.Pair;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.core.content.FileProvider;

import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.bumptech.glide.Glide;
import com.huawei.hmf.tasks.Task;
import com.huawei.hms.mlsdk.MLAnalyzerFactory;
import com.huawei.hms.mlsdk.common.MLFrame;
import com.huawei.hms.mlsdk.imgseg.MLImageSegmentation;
import com.huawei.hms.mlsdk.imgseg.MLImageSegmentationAnalyzer;
import com.huawei.hms.mlsdk.imgseg.MLImageSegmentationScene;
import com.huawei.hms.mlsdk.imgseg.MLImageSegmentationSetting;
import com.mindspore.hms.BitmapUtils;
import com.mindspore.hms.R;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;

@Route(path = "/hms/ImageSegmentationActivity")
public class ImageSegmentationActivity extends AppCompatActivity {

private static final String TAG = ImageSegmentationActivity.class.getSimpleName();
private static final int RC_CHOOSE_PHOTO = 1;
private static final int RC_CHOOSE_CAMERA = 2;

private ImageView imgPreview, mImageView;
private Uri imageUri;

private Bitmap originBitmap;
private MLImageSegmentationAnalyzer analyzer;
private Bitmap bitmapFore;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_image_segmentation);
createAnalyzer();
init();
}

private void init() {
imgPreview = findViewById(R.id.img_origin);
mImageView = findViewById(R.id.image_result);

Toolbar mToolbar = findViewById(R.id.ImageSegmentation_activity_toolbar);
setSupportActionBar(mToolbar);
mToolbar.setNavigationOnClickListener(view -> finish());
}


private void createAnalyzer() {
MLImageSegmentationSetting setting = new MLImageSegmentationSetting.Factory()
.setExact(false)
.setAnalyzerType(MLImageSegmentationSetting.BODY_SEG)
.setScene(MLImageSegmentationScene.ALL)
.create();
analyzer = MLAnalyzerFactory.getInstance().getImageSegmentationAnalyzer(setting);
}

public void onClickPhoto(View view) {
openGallay(RC_CHOOSE_PHOTO);
}

public void onClickCamera(View view) {
openCamera();
}


public void onClickRealTime(View view) {
ARouter.getInstance().build("/hms/ImageSegmentationLiveAnalyseActivity").navigation();
}

private void openGallay(int request) {
Intent intent = new Intent(Intent.ACTION_PICK, null);
intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");
startActivityForResult(intent, request);
}

public void onClickSave(View view) {
if (this.bitmapFore == null) {
Log.e(TAG, "null processed image");
Toast.makeText(this.getApplicationContext(), R.string.no_pic_neededSave, Toast.LENGTH_SHORT).show();
} else {
BitmapUtils.saveToAlbum(getApplicationContext(), this.bitmapFore);
Toast.makeText(this.getApplicationContext(), R.string.save_success, Toast.LENGTH_SHORT).show();
}
}

private void openCamera() {
Intent intentToTakePhoto = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
String mTempPhotoPath = Environment.getExternalStorageDirectory() + File.separator + "photo.jpeg";
imageUri = FileProvider.getUriForFile(this, getApplicationContext().getPackageName() + ".fileprovider", new File(mTempPhotoPath));
intentToTakePhoto.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(intentToTakePhoto, RC_CHOOSE_CAMERA);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (RC_CHOOSE_PHOTO == requestCode) {
if (null != data && null != data.getData()) {
this.imageUri = data.getData();
showOriginImage();
} else {
finish();
}
} else if (RC_CHOOSE_CAMERA == requestCode) {
showOriginCamera();
}
}
}

private void showOriginImage() {
try {
originBitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(imageUri));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
if (originBitmap != null) {
Glide.with(this).load(originBitmap).into(imgPreview);
showSegmentationImage();
} else {
}
}

private void showSegmentationImage() {
MLFrame frame = new MLFrame.Creator().setBitmap(originBitmap).create();
Task<MLImageSegmentation> task = analyzer.asyncAnalyseFrame(frame);
task.addOnSuccessListener(segmentation -> {
// Processing logic for recognition success.
if (segmentation != null) {
displaySuccess(segmentation);
}
}).addOnFailureListener(e -> {
displayFailure(e.toString());
});
}

private void showOriginCamera() {
try {
Pair<Integer, Integer> targetedSize = this.getTargetSize();
int targetWidth = targetedSize.first;
int maxHeight = targetedSize.second;
Bitmap bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(imageUri));
originBitmap = BitmapUtils.zoomImage(bitmap, targetWidth, maxHeight);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
// Determine how much to scale down the image.
if (originBitmap != null) {
Glide.with(this).load(originBitmap).into(imgPreview);
showSegmentationImage();
}
}

private Pair<Integer, Integer> getTargetSize() {
return new Pair<>(((View) this.imgPreview.getParent()).getWidth(), ((View) this.imgPreview.getParent()).getHeight());
}


private void displaySuccess(MLImageSegmentation imageSegmentationResult) {
// Draw the portrait with a transparent background.
bitmapFore = imageSegmentationResult.getForeground();
if (bitmapFore != null) {
this.mImageView.setImageBitmap(bitmapFore);
} else {
this.displayFailure("bitmapFore is null.");
}
}

private void displayFailure(String str) {
Log.e(TAG, str);
Toast.makeText(this, R.string.segmentation_fail, Toast.LENGTH_SHORT).show();
}


@Override
protected void onDestroy() {
super.onDestroy();
stopAnalyzer();
}

private void stopAnalyzer() {
if (analyzer != null) {
try {
analyzer.stop();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

+ 283
- 0
model_zoo/official/lite/MindSpore_inhand/hms/src/main/java/com/mindspore/hms/ImageSegmentation/ImageSegmentationLiveAnalyseActivity.java View File

@@ -0,0 +1,283 @@
/**
* Copyright 2021 Huawei Technologies Co., Ltd
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.mindspore.hms.ImageSegmentation;

import android.Manifest;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
import android.renderscript.RenderScript;
import android.util.Log;
import android.util.SparseArray;
import android.view.View;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.core.app.ActivityCompat;

import com.alibaba.android.arouter.facade.annotation.Route;
import com.huawei.hms.mlsdk.MLAnalyzerFactory;
import com.huawei.hms.mlsdk.common.LensEngine;
import com.huawei.hms.mlsdk.common.MLAnalyzer;
import com.huawei.hms.mlsdk.imgseg.MLImageSegmentation;
import com.huawei.hms.mlsdk.imgseg.MLImageSegmentationAnalyzer;
import com.huawei.hms.mlsdk.imgseg.MLImageSegmentationScene;
import com.huawei.hms.mlsdk.imgseg.MLImageSegmentationSetting;
import com.mindspore.hms.R;
import com.mindspore.hms.camera.GraphicOverlay;
import com.mindspore.hms.camera.LensEnginePreview;
import com.mindspore.hms.camera.MLSegmentGraphic;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

@Route(path = "/hms/ImageSegmentationLiveAnalyseActivity")
public class ImageSegmentationLiveAnalyseActivity extends AppCompatActivity implements View.OnClickListener {
private static final String TAG = ImageSegmentationLiveAnalyseActivity.class.getSimpleName();

private static final int CAMERA_PERMISSION_CODE = 0;

private MLImageSegmentationAnalyzer analyzer;

private LensEngine mLensEngine;

private LensEnginePreview mPreview;

private GraphicOverlay mOverlay;

private int lensType = LensEngine.FRONT_LENS;

private boolean isFront = true;

private boolean isPermissionRequested;

private static final String[] ALL_PERMISSION =
new String[]{
Manifest.permission.CAMERA,
};

private RenderScript renderScript;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_image_segmentation_live_analyse);
Toolbar mToolbar = findViewById(R.id.ImageSegmentation_activity_toolbar);
setSupportActionBar(mToolbar);
mToolbar.setNavigationOnClickListener(view -> finish());
this.mPreview = this.findViewById(R.id.segment_preview);
this.mOverlay = this.findViewById(R.id.segment_overlay);
this.findViewById(R.id.facingSwitch).setOnClickListener(this);
if (savedInstanceState != null) {
this.lensType = savedInstanceState.getInt("lensType");
}
this.createSegmentAnalyzer();
// Checking camera permissions.
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) {
this.createLensEngine();
} else {
this.checkPermission();
}
renderScript = RenderScript.create(this);
}

private void createLensEngine() {
Context context = this.getApplicationContext();
// Create LensEngine.
this.mLensEngine = new LensEngine.Creator(context, this.analyzer).setLensType(this.lensType)
.applyDisplayDimension(960, 720)
.applyFps(25.0f)
.enableAutomaticFocus(true)
.create();
}

// Permission application callback.
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
@NonNull int[] grantResults) {
boolean hasAllGranted = true;
if (requestCode == CAMERA_PERMISSION_CODE) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
this.createLensEngine();
} else if (grantResults[0] == PackageManager.PERMISSION_DENIED) {
hasAllGranted = false;
if (!ActivityCompat.shouldShowRequestPermissionRationale(this, permissions[0])) {
showWaringDialog();
} else {
finish();
}
}
return;
}
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}

@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.putInt("lensType", this.lensType);
super.onSaveInstanceState(savedInstanceState);
}

@Override
protected void onResume() {
super.onResume();
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) {
this.createLensEngine();
this.startLensEngine();
} else {
this.checkPermission();
}
}

@Override
public void onClick(View v) {
this.isFront = !this.isFront;
if (this.isFront) {
this.lensType = LensEngine.FRONT_LENS;
} else {
this.lensType = LensEngine.BACK_LENS;
}
if (this.mLensEngine != null) {
this.mLensEngine.close();
}
this.createLensEngine();
this.startLensEngine();
}

private void createSegmentAnalyzer() {
// Create a segmentation analyzer. You can create an analyzer using the provided customized face detection parameter: MLImageSegmentationSetting
MLImageSegmentationSetting setting = new MLImageSegmentationSetting.Factory()
.setExact(false)
.setScene(MLImageSegmentationScene.FOREGROUND_ONLY)
.setAnalyzerType(MLImageSegmentationSetting.BODY_SEG)
.create();
this.analyzer = MLAnalyzerFactory.getInstance().getImageSegmentationAnalyzer(setting);
this.analyzer.setTransactor(new MLAnalyzer.MLTransactor<MLImageSegmentation>() {
@Override
public void destroy() {

}

@Override
public void transactResult(MLAnalyzer.Result<MLImageSegmentation> result) {
mOverlay.clear();
SparseArray<MLImageSegmentation> imageSegmentationResult = result.getAnalyseList();
MLSegmentGraphic graphic = new MLSegmentGraphic(ImageSegmentationLiveAnalyseActivity.this, mPreview, mOverlay, imageSegmentationResult.valueAt(0), isFront);
//mOverlay.setBackgroundColor(Color.BLUE);
mOverlay.add(graphic);
}
});
}

private void startLensEngine() {
if (this.mLensEngine != null) {
try {
this.mPreview.start(this.mLensEngine, this.mOverlay);
} catch (IOException e) {
Log.e(TAG, "Failed to start lens engine.", e);
this.mLensEngine.release();
this.mLensEngine = null;
}
}
}

@Override
protected void onPause() {
super.onPause();
this.mPreview.stop();
}

@Override
protected void onDestroy() {
super.onDestroy();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
RenderScript.releaseAllContexts();
} else {
renderScript.finish();
}
if (this.mLensEngine != null) {
this.mLensEngine.release();
}
if (this.analyzer != null) {
try {
this.analyzer.stop();
} catch (IOException e) {
Log.e(TAG, "Stop failed: " + e.getMessage());
}
}
}

// Check the permissions required by the SDK.
private void checkPermission() {
if (Build.VERSION.SDK_INT >= 23 && !isPermissionRequested) {
isPermissionRequested = true;
ArrayList<String> permissionsList = new ArrayList<>();
for (String perm : getAllPermission()) {
if (PackageManager.PERMISSION_GRANTED != this.checkSelfPermission(perm)) {
permissionsList.add(perm);
}
}

if (!permissionsList.isEmpty()) {
requestPermissions(permissionsList.toArray(new String[0]), 0);
}
}
}

public static List<String> getAllPermission() {
return Collections.unmodifiableList(Arrays.asList(ALL_PERMISSION));
}

private void showWaringDialog() {
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setMessage(R.string.app_need_permission)
.setPositiveButton(R.string.app_permission_by_hand, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//Guide the user to the setting page for manual authorization.
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", getApplicationContext().getPackageName(), null);
intent.setData(uri);
startActivity(intent);
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//Instruct the user to perform manual authorization. The permission request fails.
finish();
}
}).setOnCancelListener(dialogInterface);
dialog.setCancelable(false);
dialog.show();
}

static DialogInterface.OnCancelListener dialogInterface = new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
}
};
}

+ 9
- 0
model_zoo/official/lite/MindSpore_inhand/hms/src/main/java/com/mindspore/hms/ImageSegmentation/OnBackgroundImageListener.java View File

@@ -0,0 +1,9 @@
package com.mindspore.hms.ImageSegmentation;

import android.view.View;

public interface OnBackgroundImageListener {
void onBackImageSelected(int position);

void onImageAdd(View view);
}

+ 234
- 0
model_zoo/official/lite/MindSpore_inhand/hms/src/main/java/com/mindspore/hms/ImageSegmentation/PortraitSegmentationActivity.java View File

@@ -0,0 +1,234 @@
package com.mindspore.hms.ImageSegmentation;

import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Matrix;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.util.SparseArray;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import com.alibaba.android.arouter.facade.annotation.Route;
import com.bumptech.glide.Glide;
import com.huawei.hms.mlsdk.MLAnalyzerFactory;
import com.huawei.hms.mlsdk.common.LensEngine;
import com.huawei.hms.mlsdk.common.MLAnalyzer;
import com.huawei.hms.mlsdk.imgseg.MLImageSegmentation;
import com.huawei.hms.mlsdk.imgseg.MLImageSegmentationAnalyzer;
import com.huawei.hms.mlsdk.imgseg.MLImageSegmentationScene;
import com.huawei.hms.mlsdk.imgseg.MLImageSegmentationSetting;
import com.mindspore.common.utils.ImageUtils;
import com.mindspore.hms.ImageSegmentation.overlay.CameraImageGraphic;
import com.mindspore.hms.ImageSegmentation.overlay.GraphicOverlay;
import com.mindspore.hms.R;
import com.mindspore.hms.camera.LensEnginePreview;

import java.io.IOException;

@Route(path = "/hms/PortraitSegmentationActivity")
public class PortraitSegmentationActivity extends AppCompatActivity implements OnBackgroundImageListener {

private static final int[] IMAGES = {R.drawable.portrait1, R.drawable.portrait2, R.drawable.portrait3, R.drawable.portrait4, R.drawable.portrait5, R.drawable.icon_default};

private RecyclerView recyclerView;

private MLImageSegmentationAnalyzer analyzer;
private LensEnginePreview mPreview;
private GraphicOverlay mOverlay;
private LensEngine mLensEngine;

private int lensType = LensEngine.FRONT_LENS;
private boolean isFront = true;

private ImageView background;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_portrait);

init();
createSegmentAnalyzer();
if (savedInstanceState != null) {
this.lensType = savedInstanceState.getInt("lensType");
}
}

private void init() {
Toolbar mToolbar = findViewById(R.id.activity_toolbar);
setSupportActionBar(mToolbar);
mToolbar.setNavigationOnClickListener(view -> finish());

recyclerView = findViewById(R.id.recycleView);
LinearLayoutManager mHorizontalLinearLayout = new LinearLayoutManager(this, RecyclerView.HORIZONTAL, false);
recyclerView.setLayoutManager(mHorizontalLinearLayout);
recyclerView.setAdapter(new PortraitSegmentationAdapter(this, IMAGES, this));

mPreview = findViewById(R.id.preview);
mOverlay = findViewById(R.id.graphic);
background = findViewById(R.id.background);
}

@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.putInt("lensType", this.lensType);
super.onSaveInstanceState(savedInstanceState);
}

@Override
protected void onResume() {
super.onResume();
this.createLensEngine();
this.startLensEngine();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_setting, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
int itemId = item.getItemId();
if (itemId == R.id.item_camera) {
isFront = !isFront;
if (isFront) {
lensType = LensEngine.FRONT_LENS;
} else {
lensType = LensEngine.BACK_LENS;
}
if (mLensEngine != null) {
mLensEngine.close();
}
createLensEngine();
startLensEngine();
} else if (itemId == R.id.item_save) {

mOverlay.setTag("mOverlay");
mPreview.setTag("mPreview");
Uri imgPath = ImageUtils.saveToAlbum(PortraitSegmentationActivity.this, mPreview,null,true);
if (imgPath != null) {
Toast.makeText(PortraitSegmentationActivity.this,"保存成功", Toast.LENGTH_SHORT).show();
}
}
return super.onOptionsItemSelected(item);
}

private void createSegmentAnalyzer() {
MLImageSegmentationSetting setting = new MLImageSegmentationSetting.Factory()
.setExact(false)
.setScene(MLImageSegmentationScene.FOREGROUND_ONLY)
.setAnalyzerType(MLImageSegmentationSetting.BODY_SEG)
.create();
this.analyzer = MLAnalyzerFactory.getInstance().getImageSegmentationAnalyzer(setting);
this.analyzer.setTransactor(new MLAnalyzer.MLTransactor<MLImageSegmentation>() {
@Override
public void destroy() {

}

@Override
public void transactResult(MLAnalyzer.Result<MLImageSegmentation> result) {
SparseArray<MLImageSegmentation> imageSegmentationResult = result.getAnalyseList();
Bitmap bitmap = imageSegmentationResult.valueAt(0).getForeground();
if (isFront) {
bitmap = convert(bitmap);
}
mOverlay.clear();
CameraImageGraphic cameraImageGraphic = new CameraImageGraphic(mOverlay, bitmap);
mOverlay.addGraphic(cameraImageGraphic);
mOverlay.postInvalidate();
}
});
}

private void createLensEngine() {
Context context = this.getApplicationContext();
// Create LensEngine.
this.mLensEngine = new LensEngine.Creator(context, this.analyzer)
.setLensType(lensType)
.applyDisplayDimension(1280, 720)
.applyFps(25.0f)
.enableAutomaticFocus(true)
.create();
}


private void startLensEngine() {
if (mLensEngine != null) {
try {
mPreview.start(mLensEngine);
} catch (IOException e) {
mLensEngine.release();
mLensEngine = null;
}
}
}

private Bitmap convert(Bitmap bitmap) {
Matrix m = new Matrix();
m.setScale(-1, 1);
Bitmap reverseBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), m, true);
return reverseBitmap;
}

public void stopPreview() {
mPreview.stop();
}


@Override
public void onBackImageSelected(int position) {
Glide.with(this).load(IMAGES[position]).into(background);
}

@Override
public void onImageAdd(View view) {
openGallay(1000);
}

private void openGallay(int request) {
Intent intentToPickPic = new Intent(Intent.ACTION_PICK, null);
intentToPickPic.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");
startActivityForResult(intentToPickPic, 1000);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (1000 == requestCode) {
if (null != data && null != data.getData()) {
Glide.with(this).load(data.getData()).into(background);
}
}
}
}

@Override
protected void onDestroy() {
super.onDestroy();
if (analyzer != null) {
try {
analyzer.stop();
} catch (IOException e) {
}
}
if (mLensEngine != null) {
mLensEngine.release();
}
}
}

+ 85
- 0
model_zoo/official/lite/MindSpore_inhand/hms/src/main/java/com/mindspore/hms/ImageSegmentation/PortraitSegmentationAdapter.java View File

@@ -0,0 +1,85 @@
package com.mindspore.hms.ImageSegmentation;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import com.bumptech.glide.Glide;
import com.mindspore.hms.R;

public class PortraitSegmentationAdapter extends RecyclerView.Adapter<PortraitSegmentationAdapter.PortraitItemViewHolder> {


private final int[] IMAGES;
private final Context context;
private final OnBackgroundImageListener mListener;

public PortraitSegmentationAdapter(Context context, int[] IMAGES, OnBackgroundImageListener mListener) {
this.IMAGES = IMAGES;
this.context = context;
this.mListener = mListener;
}

@NonNull
@Override
public PortraitItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context)
.inflate(R.layout.image_item, parent, false);
return new PortraitItemViewHolder(view);
}


@Override
public void onBindViewHolder(@NonNull PortraitItemViewHolder holder, int position) {
Glide.with(context).
load(IMAGES[position]).
into(holder.getImageView());

View view = holder.getMView();
view.setTag(IMAGES[position]);
view.setOnClickListener(view1 -> {
if (mListener != null) {
if (IMAGES.length - 1 == position) {
mListener.onImageAdd(holder.getImageView());
} else {
mListener.onBackImageSelected(position);
}
}
});
}


@Override
public int getItemCount() {
return IMAGES == null ? 0 : IMAGES.length;
}


public class PortraitItemViewHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
private final View mView;

public final ImageView getImageView() {
return this.imageView;
}

public final void setImageView(ImageView imageView) {
this.imageView = imageView;
}

public final View getMView() {
return this.mView;
}

public PortraitItemViewHolder(View mView) {
super(mView);
this.mView = mView;
this.imageView = mView.findViewById(R.id.image_view);
}
}
}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save