Browse Source

011更新代码,keep程序返回

zhangshenjie 10 months ago
parent
commit
2c2989691e

+ 1 - 0
BusinessCommon/src/main/java/com/develop/common/food_sdk/FloatWindowManager.kt

@@ -112,6 +112,7 @@ object FloatWindowManager {
                         globalApp().navigateTo(Screens.Cook.COOK_MODES) {
                             withString("cook_name", modeName)
                             withString(MODE_TYPE, event.modeType)
+                            withBoolean("keep",true)
                         }
                     } else {
                         globalApp().navigateTo(Screens.Cook.COOK_STEP2) {

+ 88 - 5
BusinessCommon/src/main/java/com/develop/common/utils/AppVersionUtil.kt

@@ -64,7 +64,7 @@ object AppVersionUtil {
                     if (result.apkUpdate) {
                         val commonDialog = CommonDialog()
                         commonDialog.msg = getString(com.develop.common.R.string.update_msg)
-                        commonDialog.title =    getString(com.develop.common.R.string.update)
+                        commonDialog.title = getString(com.develop.common.R.string.update)
                         commonDialog.hasOKBtn = false
                         val cancelConfirmDialog = CancelConfirmDialog()
                         cancelConfirmDialog.title =
@@ -145,7 +145,7 @@ object AppVersionUtil {
 
                         }
                         if (newRecipes.isNotEmpty()) {
-                            if (dialogRecipeUpdate.isShow){
+                            if (dialogRecipeUpdate.isShow) {
                                 dialogRecipeUpdate.removeSelf()
                             }
                             dialogRecipeUpdate.onDialogClickListener =
@@ -170,12 +170,16 @@ object AppVersionUtil {
                                     }
 
                                 }
-                            var activityName  = AppActivityManager.getInstance().topActivity.localClassName
+                            var activityName =
+                                AppActivityManager.getInstance().topActivity.localClassName
                             /**
                              * 由于访问接口得时候处理数据,这时候切换了其他页面再切换语言导致,
                              * 更新食谱的dialog的问题会空白,估做下面判断
                              * */
-                            if (activityName.contains("ModeEntranceActivity")||activityName.contains("ModeEntrance2Activity")||activityName.contains("AboutActivity")){
+                            if (activityName.contains("ModeEntranceActivity") || activityName.contains(
+                                    "ModeEntrance2Activity"
+                                ) || activityName.contains("AboutActivity")
+                            ) {
                                 dialogRecipeUpdate.showUpdateTips(
                                     supportFragmentManager,
                                     "RECIPE_UPDATE_DIALOG",
@@ -196,7 +200,86 @@ object AppVersionUtil {
     }
 
 
+    fun checkAboutRecipeUpdate(shoNoUpdateDialog: Boolean = false) {
+        TopResumedAtyHolder.getCurrentActivity()?.apply {
+            scopeNetLife {
+                try {
+                    val result = Post<DevInfoResult>(Api.DEV_INFO) {
+                        body = DeviceInfoBody.genDeviceInfoBody()
+                    }.await()
+
+                    val downloadDir = this@apply.externalCacheDir.toString()
+                    val downloadName = System.nanoTime().toString()
+                    val recipeUpdateTime = result.recipeUpdateTime
+                    val newRecipes = LinkedList(result.newRecipes)
+                    if (newRecipes.isEmpty() && shoNoUpdateDialog) {
+                        val dialog = RecipeUpdateDialog()
+                        dialog.onDialogClickListener =
+                            object : RecipeUpdateDialog.OnDialogClickListener {
+                                override fun onConfirm() {
+
+                                }
+
+                                override fun onCancel() {
+                                }
+                            }
+                        dialog.showNoUpdateTips(supportFragmentManager, "RECIPE_UPDATE_DIALOG")
+
+                    }
+                    if (newRecipes.isNotEmpty()) {
+                        if (dialogRecipeUpdate.isShow) {
+                            dialogRecipeUpdate.removeSelf()
+                        }
+                        dialogRecipeUpdate.onDialogClickListener =
+                            object : RecipeUpdateDialog.OnDialogClickListener {
+                                override fun onConfirm() {
+                                    updateRecipe = !updateRecipe
+                                    //清掉list的number
+                                    numberList.clear()
+                                    EventBus.getDefault().post(NoScreenEvent(true))
+                                    downloadRecipes(
+                                        newRecipes,
+                                        dialogRecipeUpdate,
+                                        newRecipes.size.toLong(),
+                                        downloadDir,
+                                        downloadName,
+                                        recipeUpdateTime
+                                    )
+                                }
 
+                                override fun onCancel() {
+
+                                }
+
+                            }
+                        var activityName =
+                            AppActivityManager.getInstance().topActivity.localClassName
+                        /**
+                         * 由于访问接口得时候处理数据,这时候切换了其他页面再切换语言导致,
+                         * 更新食谱的dialog的问题会空白,估做下面判断
+                         * */
+                        if (activityName.contains("ModeEntranceActivity") || activityName.contains("ModeEntrance2Activity") || activityName.contains(
+                                "AboutActivity"
+                            )
+                        ) {
+                            dialogRecipeUpdate.showUpdateTips(
+                                supportFragmentManager,
+                                "RECIPE_UPDATE_DIALOG",
+                                newRecipes.size.toLong()
+                            )
+                        }
+
+                    }
+
+                } catch (e: java.lang.Exception) {
+                    e.printStackTrace()
+                }
+
+
+            }
+
+        }
+    }
 
     var updateRecipe = false
 
@@ -297,7 +380,7 @@ object AppVersionUtil {
                     )
                 }
             }.catch {
-                ToastUtils.showShort("下载失败 :"+it.toString())
+                ToastUtils.showShort("下载失败 :" + it.toString())
             }
 
         }

+ 3 - 0
BusinessCommon/src/main/java/com/develop/common/widget/CookCardView.kt

@@ -97,6 +97,9 @@ class CookCardView : ConstraintLayout {
             binding.tvChangeValue.paint.textSize =
                 com.develop.common.R.dimen.convert_40px.resId2Dimension()
         }
+        if (binding.tvChangeValue.text.equals(changeValue)){
+            return
+        }
         binding.tvChangeValue.text = changeValue
     }
 

+ 2 - 0
BusinessCommon/src/main/res/layout/cook_card_view.xml

@@ -31,6 +31,8 @@
         android:singleLine="true"
         android:textColor="@color/panel_unselected"
         android:textSize="@dimen/convert_40px"
+        android:focusable="true"
+        android:focusableInTouchMode="true"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintHorizontal_bias="0.93"

+ 2 - 2
BusinessCommon/src/main/res/values-en/strings.xml

@@ -193,7 +193,7 @@ Nanfang plus client is an online information platform developed and operated by
     <string name="hight_temp_warning_tips">The current temperature exceeds 60, and the motor speed exceeds the third gear. Are you sure to continue?</string>
     <string name="hight_temp_turbo_tips">The current temperature exceeds 60, turbo function cannot be operated</string>
     <string name="update_msg">System updating, please wait~</string>
-    <string name="update_title">Is it the latest version?</string>
+    <string name="update_title">Do you want to upgrade to the new version?</string>
     <string name="finish_download">Downloaded</string>
     <string name="download_fail">Download failure</string>
     <string name="start_download">Start to download</string>
@@ -357,7 +357,7 @@ Nanfang plus client is an online information platform developed and operated by
     <string name="smoothie">SMOOTHIE</string>
     <string name="sovs_vide">SOVS VIDE</string>
     <string name="auto_clean">AUTO CLEAN</string>
-    <string name="apk_version_latest">The app version is already up to date.</string>
+    <string name="apk_version_latest">Current version is the latest version.</string>
     <string name="installing">Installing...</string>
     <string name="save_success">Save success</string>
     <string name="reset_password_success">Reset password success!</string>

+ 2 - 2
BusinessCommon/src/main/res/values-uk/strings.xml

@@ -144,7 +144,7 @@ Nanfang plus client is an online information platform developed and operated by
     <string name="hight_temp_warning_tips">The current temperature exceeds 60, and the motor speed exceeds the third gear. Are you sure to continue?</string>
     <string name="hight_temp_turbo_tips">The current temperature exceeds 60, turbo function cannot be operated</string>
     <string name="update_msg">System updating, please wait~</string>
-    <string name="update_title">Is it the latest version?</string>
+    <string name="update_title">Do you want to upgrade to the new version?</string>
     <string name="finish_download">Downloaded</string>
     <string name="download_fail">Download failure</string>
     <string name="start_download">Start to download</string>
@@ -317,7 +317,7 @@ Nanfang plus client is an online information platform developed and operated by
     <string name="smoothie">SMOOTHIE</string>
     <string name="sovs_vide">SOVS VIDE</string>
     <string name="auto_clean">AUTO CLEAN</string>
-    <string name="apk_version_latest">The app version is already up to date.</string>
+    <string name="apk_version_latest">Current version is the latest version.</string>
     <string name="installing">Installing...</string>
     <string name="save_success">Save success</string>
     <string name="reset_password_success">Reset password success!</string>

+ 1 - 0
BusinessMain/src/main/java/com/develop/main/ui/HomeActivity.kt

@@ -416,6 +416,7 @@ class HomeActivity : CommonBVMActivity<ActivityHomeBinding, HomeViewModel>() {
         if (event.devInfo.resetZero.toInt() == 1 && event.devInfo.resetZero.toInt() != isResetZero) {
 
         var modeName = if (getSN().startsWith("011"))  resources.getString(com.develop.common.R.string.citrus_juicer_011) else resources.getString(com.develop.common.R.string.citrus_juicer)
+
             navigateTo(Screens.Cook.COOK_MODES) {
                 val bundle = Bundle()
                 bundle.putString(MODE_TYPE, WorkModes.CITRUS_JUICER)

+ 1 - 1
BusinessSetting/src/main/java/com/develop/setting/ui/AboutActivity.kt

@@ -306,7 +306,7 @@ class AboutActivity : CommonBVMActivity<ActivityAboutBinding, AboutViewModel>()
 
         //点击食谱更新
         binding.updateRecipes.setOnClickListener {
-            AppVersionUtil.checkRecipeUpdate(true)
+            AppVersionUtil.checkAboutRecipeUpdate(true)
         }
 
         binding.updateFirmware.setOnClickListener {

+ 9 - 3
BusinessSetting/src/main/java/com/develop/setting/ui/HelpDocsActivity.kt

@@ -19,7 +19,7 @@ import com.develop.setting.R
 
 @Route(path = Screens.Setting.HELP)
 class HelpDocsActivity : AppCompatActivity() {
-
+    private var sn = getSN()
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_help_docs)
@@ -42,7 +42,7 @@ class HelpDocsActivity : AppCompatActivity() {
         }
         var url = ""
         //处理045 屏幕小,隐私协议和帮助文档文字需要加大
-        url = if (getSN().startsWith("045")){
+        url = if (sn.startsWith("045")){
             //045的设备,5寸屏分辨率  1280 * 720
             if (width==1280&&height==720){
                 "file:///android_asset/help/${language}/help-white-a.html"
@@ -52,7 +52,13 @@ class HelpDocsActivity : AppCompatActivity() {
 
         }else{
             if (isNightTheme()) {
-                "file:///android_asset/help/${language}/help.html"
+                if (sn.startsWith("011")&&language=="EN"){
+                    "file:///android_asset/help/${language}/help_011.html"
+
+                }else{
+                    "file:///android_asset/help/${language}/help.html"
+
+                }
             } else {
                 "file:///android_asset/help/${language}/help-white.html"
             }

+ 47 - 8
BusinessStep/src/main/java/com/develop/step/ui/ModesDetailActivity.kt

@@ -68,6 +68,7 @@ import com.kuyuntech.cofarcooking.device.sdk.constant.core.DevStatus
 import com.kuyuntech.cofarcooking.device.sdk.constant.core.HeatModes
 import com.kuyuntech.cofarcooking.device.sdk.constant.core.MotorDirections
 import com.kuyuntech.cofarcooking.device.sdk.constant.core.WorkModes
+import com.kuyuntech.cofarcooking.device.sdk.devmode.core.BaseDevMode
 import com.kuyuntech.cofarcooking.device.sdk.devmode.core.Kettle
 import com.kuyuntech.cofarcooking.device.sdk.devmode.core.Knead
 import com.kuyuntech.cofarcooking.device.sdk.eventbus.core.DevInfo
@@ -133,7 +134,8 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
     private var is011 = false
     private var isResetZero = -1  //初始扭橙的值
     private var sn = getSN()
-
+    private var keep:Boolean =false
+    private lateinit var baseMode :BaseDevMode
     private val deviceStateDialog by lazy {
         CancelConfirmDialog()
     }
@@ -256,6 +258,7 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
         viewModel.modeType = intent.extras?.getString(MODE_TYPE, ModesType.CHOP.name) ?: ""
         modeName = intent.extras?.getString("mode_name", "") ?: ""
         opMode = intent.extras?.getString("OP_MODE", "HAND") ?: "HAND"
+        keep = intent.extras?.getBoolean("keep",false) ?:false
         viewModel.lastModeType = viewModel.modeType
         lastModeType = viewModel.modeType
         modeType = lastModeType
@@ -344,6 +347,17 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
                     when (currentStep) {
                         CookSettingType.TEMP_SETTING -> {
                             if (isTempChange) {
+                                /**
+                                 * 当后台点进来模式页面,currentTemp为0故在这重新set值
+                                 * */
+                                if (currentTemp==0){
+                                    // temp 当前温度  目标温度 targetTemp
+                                    currentTemp = if (CofarSDK.devInfo().temp>baseMode.minTemp){
+                                        CofarSDK.devInfo().temp.toInt()
+                                    }else{
+                                        baseMode.minTemp
+                                    }
+                                }
                                 //当前调节温度
                                 currentTemp += CofarSDK.getTempInterval()
                                 if (currentTemp > maxTemp) {
@@ -403,6 +417,20 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
                     when (currentStep) {
                         CookSettingType.TEMP_SETTING -> {
                             if (isTempChange) {
+                                /**
+                                 * 当后台点进来模式页面,currentTemp为0故在这重新set值
+                                 * */
+
+                                if (currentTemp==0){
+                                    // temp 当前温度  目标温度 targetTemp
+                                    currentTemp = if (CofarSDK.devInfo().temp>baseMode.minTemp){
+                                        CofarSDK.devInfo().temp.toInt()
+                                    }else{
+                                        baseMode.minTemp+CofarSDK.getTempInterval()
+                                    }
+                                }
+
+
                                 //当前调节温度
                                 currentTemp -= CofarSDK.getTempInterval()
                                 if (currentTemp < minTemp) {
@@ -968,11 +996,11 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
     var configLock = false;
 
 
-    private fun initModeData(type: String, keep: Boolean = false) {
+    private fun initModeData(type: String, keep: Boolean?= false) {
 
-        Log.d("TAG initModeData", "viewModel.modeType:" + viewModel.modeType)
+        Log.d("TAG initModeData", "viewModel.modeType:" + viewModel.modeType+ "    keep:"+keep)
         viewModel.modeType.apply {
-            val baseMode = CofarSDK.devMode(this)
+             baseMode = CofarSDK.devMode(this)
             //处理5/7/10寸屏,默认转速不同
             if (baseMode is Knead && !sn.startsWith("011")){
                 var  defMotorGear = when(StringUtils.getScreenSize(this@ModesDetailActivity)){
@@ -1020,7 +1048,7 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
                     var motorGear = baseMode.defaultMotorGear.toByte()
                     var targetTime = baseMode.defaultTime.toInt()
 
-                    if (keep) {
+                    if (keep == true) {
                         var restoreConfig: DevInfo? = null
                         configLock = true;
                         restoreConfig = CofarSDK.changeMode(type, baseMode, true)
@@ -1032,6 +1060,11 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
                             motorDirection = restoreConfig.motorDirection;
                             motorGear = restoreConfig.motorGear;
                             targetTime = restoreConfig.targetTime;
+                        }else{
+                             targetTemp = baseMode.defaultTemp.toShort()
+                             motorDirection = baseMode.motorDirection.toByte()
+                             motorGear = baseMode.defaultMotorGear.toByte()
+                             targetTime = baseMode.defaultTime.toInt()
                         }
                     } else {
                         CofarSDK.changeMode(type, baseMode)
@@ -1047,6 +1080,7 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
 
                     baseMode.apply {
                         currentTemp = targetTemp.toInt()
+                        Log.d("TAG currentTemp","currentTemp:"+currentTemp)
                         updateTempUI(
                             minTemp.toFloat(),
                             maxTemp.toFloat(),
@@ -1685,6 +1719,13 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
         this.isTempChange = isTempChange
         binding.apply {
 
+
+
+            clCookTemp.updateChangeValue("${FoodSdkUtils.parseTemp(currDevInfo.temp)}°C")
+            tempRingView.setRange(minTemp, maxTemp)
+            tempRingView.setCanTouch(isTempChange)
+
+
             if (targetTemp.toInt() > maxTemp) {
                 CofarSDK.cfgHeat(maxTemp.toInt().toShort(), HeatModes.PU_TONG);
                 clCookTemp.setConfigValue(
@@ -1699,9 +1740,7 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
 
             }
 
-            clCookTemp.updateChangeValue("${FoodSdkUtils.parseTemp(currDevInfo.temp)}°C")
-            tempRingView.setRange(minTemp, maxTemp)
-            tempRingView.setCanTouch(isTempChange)
+
 
             var tempBuffer = CofarSDK.devInfo().targetTempBuffer
             steamFire.configNum(

+ 248 - 0
app/src/main/assets/help/EN/help_011.html

@@ -0,0 +1,248 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+  <meta charset="UTF-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <title>帮助文件</title>
+</head>
+
+<style>
+  * {
+    margin: 0;
+    padding: 0;
+  }
+
+  body {
+    background-color: #000000;
+    height: 100vh;
+    color: #ffffff;
+    padding: 12px;
+  }
+
+  p {
+    font-size: 14px;
+  }
+
+  .item {
+    margin-top: 14px;
+  }
+
+  .item h3 {
+    position: relative;
+  }
+
+  .item h3::after {
+    content: "";
+    display: inline-block;
+    width: 12px;
+    height: 12px;
+    border-top: 2px solid #ffffff;
+    border-right: 2px solid #ffffff;
+    transform: rotate(136deg);
+    margin-left: 14px;
+  }
+
+  .item p,
+  .item ul {
+    display: none;
+    margin-top: 8px;
+  }
+
+  .item:hover p,
+  .item:hover ul {
+    display: block;
+  }
+</style>
+
+<body>
+  <h2>Frequently asked questions – FAQ</h2>
+  <div class="item">
+    <h3>One of the blades has warped during use</h3>
+    <p>The blade is not damaged, you can see this by looking at its specific shape in the pictures e.g. in the instruction manual.
+      The blades are curved to better mix and chop ingredients at different levels e.g. the bottom of a jug.</p>
+  </div>
+
+  <div class="item">
+    <h3>There is an unpleasant smell coming from the appliance</h3>
+    <p> Overheating of parts during initial start-up is a natural phenomenon
+      and will subside during further use. Overloading the appliance - switch off the appliance,
+      wait for it to cool down. Remember not to exceed the recommended operating times! </p>
+  </div>
+
+  <div class="item">
+    <h3>Why doesn't the jug heat up / heat up / reach temperature?</h3>
+    <p>In this case, the thermal fuse of the appliance has probably tripped. The jug must have overheated.
+      The thermal fuse has tripped. Once the jug has cooled down, press it to reset the appliance.
+      This is the small black button located on the bottom of the jug.</p>
+  </div>
+
+  <div class="item">
+    <h3>Error message on screen during the preparation process</h3>
+    <p>The robot is equipped with safety devices to minimise the risk of overloading the motor (overcrowding or overheating).
+      To solve this problem, switch off the appliance and leave it to cool down for about 20-30 minutes.
+      After this time, the problem should cease. If the recipe still cannot be started, repeat the cooling process.
+      If other methods do not work, contact customer service.</p>
+  </div>
+
+  <div class="item">
+    <h3>Why can't I put the jug into the housing?</h3>
+    <p>The most common cause is that the lid is applied and closed on the jug before inserting it into the main unit. The jug should be inserted without the lid.
+      Only put the lid on and close it after the jug has been installed in the main unit.</p>
+  </div>
+
+  <div class="item">
+    <h3>Accessories: I lost the steamer pot, lost the pusher and.... I broke the spatula. What should I do ?</h3>
+    <p>Customers can buy parts directly from our online accessories shop: www.mpmstrefa.pl
+    </p>
+  </div>
+
+  <div class="item">
+    <h3>I have a problem with the lid closing. The seal swells up and cannot be closed</h3>
+    <p>Lubricate the seal with water or oil.</p>
+  </div>
+
+  <div class="item">
+    <h3>I cannot connect to WiFi: password is correct, close to the router</h3>
+    <p>This problem is due to the WiFi security protocol used by the device.
+      The device must use the latest protocol (WPA2) and the device software must be updated.</p>
+  </div>
+
+  <div class="item">
+    <h3>Do I need a WiFi connection to open the recipe?</h3>
+    <p>No, the WiFi connection is only used to update the recipes and the device software.</p>
+  </div>
+
+  <div class="item">
+    <h3>To what temperature does my robot heat up?</h3>
+    <p>In the custom settings, the robot can heat between 37°C and 130°C, and the user can change the temperature in 5°C increments.</p>
+    <p>*Some automatic programmes can cook at 160°C, but the custom settings are limited to 130°C.</p>
+  </div>
+
+  <div class="item">
+    <h3>What is the speed of the motor?</h3>
+    <p>The speed can be adjusted from 1 to 12.</p>
+    <p>For safety reasons, the robot limits the speed to 3 during cooking.</p>
+  </div>
+
+
+  <div class="item">
+    <h3>How to clean the robot?</h3>
+    <p>After switching off and unplugging the power cord, it is recommended to rinse the bowl and accessories immediately with hot water.</p>
+    <p>If there are scorch marks on the bottom of the bowl, it is best to soak the inside of the bowl and occasionally rub the bottom of the bowl with a sponge until the food comes off.</p>
+    <p>You can also run the automatic cleaning programme.</p>
+  </div>
+
+  <div class="item">
+    <h3>Can I wash the appliance in the dishwasher?</h3>
+    <p>You can wash all accessories in the dishwasher but it is not recommended to wash the jug,
+      which is an integral part of the appliance and is an electrical part. To enjoy the use of the product for a long time, wash the jug by hand under a stream of lukewarm water.</p>
+  </div>
+
+  <div class="item">
+    <h3>Certain foodstuffs can cause the plastic to change colour. How to clean ?</h3>
+    <p>Some coloured ingredients, such as curry, tomatoes, carrots, etc.,
+      may colour the plastic parts, and this colouring effect cannot always be avoided.
+      This colour does not affect the health of the user or the functionality of the accessory.</p>
+    <p>To reduce the staining, wipe the soiled area with a cloth or tissue soaked in cooking oil and then clean it regularly.</p>
+    <p>Cleaning should be carried out immediately after use to reduce the formation of stains.</p>
+    <p>Please note, this problem is not covered by the warranty as it is an aesthetic issue and not a fault.</p>
+
+  </div>
+
+  <div class="item">
+    <h3>White stains have appeared on the lid of the robot. How do I remove them?</h3>
+    <p>These are traces of limescale resulting from the use of lime water during cooking.
+      Use an anti-scaling solution and soak the lid for sufficient time to soften the marks.</p>
+    <p>Please note that the longer the cooking time, the harder the stains become and the more difficult they
+      are to remove. We therefore recommend removing them as soon as they are detected.</p>
+  </div>
+
+  <div class="item">
+    <h3>How do you clean burnt and sticky food on the bottom of the bowl?</h3>
+    <p>There are several solutions, for example you can soak it in baking soda, lemon or washing up liquid.
+      Alternatively, you can heat some water with vinegar and a few drops of washing-up liquid and leave it for a while before cleaning.
+      If everything does not disappear, start the operation again.
+      A particularly effective tip is to place a dishwasher tablet with a little hot water and leave to soak for a while.
+    </p>
+  </div>
+
+  <div class="item">
+    <h3>Frying / sautéing vegetables, onions - what to do to make sure they don't burn?</h3>
+    <p>Pour in the oil or melt the butter before putting the products in the pot.</p>
+  </div>
+
+
+  <div class="item">
+    <h3>Incorrectly mixed or incompletely cooked ingredients</h3>
+    <p>This may be because a particular recipe may require more cooking time.</p>
+    <p>Although theoretically there is a clear cooking time for the food in a recipe,
+      the cooking time may vary due to several factors:</p>
+    <ul>
+      <li>the temperature of the food during cooking;</li>
+      <li>if the ingredients have not been removed from the fridge and have not reached room temperature;</li>
+      <li>the origin and maturity of the ingredients.</li>
+    </ul>
+  </div>
+
+  <div class="item">
+    <h3>I don't know how to heat up pre-prepared food</h3>
+    <p>Switch to manual mode and select the temperature, duration etc. depending on the dish being prepared.</p>
+  </div>
+
+  <div class="item">
+    <h3>Overcrowding of the appliance during the cooking process</h3>
+    <p>This phenomenon is caused by the high temperature of the liquid and food in the bowl,
+      which increases the pressure inside the bowl and causes overflow. To avoid this situation,
+      lower the temperature or use a steaming container with a glass lid instead of a cooking lid.</p>
+  </div>
+
+
+  <div class="item">
+    <h3>My knife or stirrer got blocked</h3>
+    <p>There were too many products inside. Do not exceed the recommended capacity and weights.
+      Cut larger products into smaller pieces.</p>
+  </div>
+
+  <div class="item">
+    <h3>Why can't I blend a boiling soup</h3>
+    <p>You cannot blend products at temperatures above 60˚C.
+      The appliance has a burn protection (above 60˚C the maximum speed is 3).</p>
+  </div>
+
+
+  <div class="item">
+    <h3>When kneading dough or paste, the machine reduces the speed or starts to vibrate</h3>
+    <p>There are too many products inside. Do not exceed the recommended capacity and weights.</p>
+  </div>
+
+
+  <div class="item">
+    <h3>How can I clean the control panel?</h3>
+    <p>Use a damp tissue or a very well squeezed sponge to clean the control panel and display.
+      Then wipe with a dry cloth.</p>
+  </div>
+
+
+  <div class="item">
+    <h3>The machine vibrates in an unusual way</h3>
+    <p>The most common cause is the application of too much product.
+      The appliance can also vibrate if the speed is set too high, e.g. if you are kneading a heavy dough,
+      you cannot use high speed. Heavy products can cause natural vibration.</p>
+  </div>
+  <div class="item">
+    <h3>Unit operates in an unusual manner</h3>
+    <p>All instructions for operation of the appliance are described in detail in the manual.
+      We recommend that you read the operating instructions for the appliance in detail,
+      which can be found in the carton or updated at www.mpm.pl. </p>
+  </div>
+  <div class="item">
+    <h3>I do not whip the cream into butter.</h3>
+    <p>The cream should be slightly chilled (preferably about 15˚C).</p>
+  </div>
+
+
+
+</body>
+
+</html>