Трепетание некоторых кнопок не работает на определенных устройствах

#android #flutter #button

#Android #флаттер #кнопка

Вопрос:

привет всем, у меня есть простые кнопки — в моем приложении, и я протестировал его на lenove p2, note 4, k20 pro, и он работал отлично, но на OnePlus 5T OxygenOS V10 и Android V10 он не работал независимо от того, что я делаю, когда нажимаю на него, он не работает, как пустая кнопкавот код

   void showPricingSheet(context , article){
  List<int> quantities = [];
  List<int> serviceIds = [];
  List<double> totalPrices = [];
  double currentTotalPrice = 0.0;
  int servicesLength;
  //theses variables will be used to store values locally then send them to server
  Future<List<Prices>> _prices = _fetchPrices(article['id']);
  bool alreadyExc = false;

  showModalBottomSheet(
      isDismissible: false,
      shape: RoundedRectangleBorder(
        borderRadius: BorderRadius.vertical(
          top: Radius.circular(20),
        ),
      ),
      context: context,
      builder: (BuildContext context){
        var responsivenessController = ResponsivenessController(context);
        return StatefulBuilder(
          builder: (BuildContext context , setState){
            return FutureBuilder<List<Prices>>(
                future: _prices,
                builder: (context , snapshot){
                  if(snapshot.hasData){
                    List<Prices> price = snapshot.data;
                    if(alreadyExc == false){
                      // initializing the list with the length provided
                      servicesLength = price.length;
                      for(int i = 0; i < price.length; i  ){
                        quantities.add(0);
                        serviceIds.add(price[i].serviceId);
                        totalPrices.add(0);
                      }
                      alreadyExc = true;
                    }
                    return Container(
                        padding: EdgeInsets.all(30),
                        child: Stack(
                          children: <Widget>[
                            ListView(
                              children: <Widget>[
                                Column(
                                  children: <Widget>[
                                    articleName(article),
                                        Column(
                                          children: List.generate(price.length, (index) =>
                                            Row(
                                                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                                                children: <Widget>[
                                                  Expanded(
                                                    child: Container(
                                                      padding: EdgeInsets.all(10),
                                                      child: Text(
                                                        translator.currentLanguage == 'ar' ?
                                                        '${price[index].serviceNameAr}'
                                                            :'${price[index].serviceNameEn}',
                                                        overflow: TextOverflow.ellipsis,
                                                        style: TextStyle(
                                                          fontSize: responsivenessController.bodyFont1,
                                                        ),
                                                      ),
                                                    ),
                                                  ),
                                                  Text('${price[index].price}' ,
                                                      style: TextStyle(
                                                        fontSize: responsivenessController.bodyFont1,
                                                      ),
                                                    ),
                                                  Container(
                                                    child: Row(
                                                      children: <Widget>[
                                                // the problem is in this section 
                                                //
                                                //
                                                //
                                                //
                                                         IconButton(
                                                          onPressed: (){
                                                            setState(() {
                                                              double oldPrice = (quantities[index] * price[index].price).toDouble();
                                                              quantities[index] = quantities[index]   1;
                                                              double newPrice = (quantities[index] * price[index].price).toDouble();
                                                              totalPrices[index] = newPrice.toDouble();
                                                              currentTotalPrice = (currentTotalPrice - oldPrice).toDouble();
                                                              currentTotalPrice = (currentTotalPrice   newPrice).toDouble();
                                                            });
                                                          },
                                                          icon: Icon(Icons.add , color: Color(0xffff9900),),
                                                        ),
                                                        Text(
                                                            '${quantities[index]}'
                                                        ),
                                                        IconButton(
                                                          onPressed: (){
                                                            setState(() {
                                                              if(quantities[index] > 0){
                                                                double oldPrice = (quantities[index] * price[index].price).toDouble();
                                                                quantities[index] = quantities[index] - 1;
                                                                double newPrice = (quantities[index] * price[index].price).toDouble();
                                                                totalPrices[index] = newPrice.toDouble();
                                                                currentTotalPrice = (currentTotalPrice - oldPrice).toDouble();
                                                                currentTotalPrice = (currentTotalPrice   newPrice).toDouble();
                                                              }
                                                              DoNothingAction();
                                                            });
                                                          },
                                                          icon: Icon(Icons.remove , color: Color(0xffff9900),),
                                                        ),
                                                   //ends here 
                                                   //
                                                   //
                                                   //
                                                      ],
                                                    ),
                                                  )
                                                ],
                                              )
                                        )
                                    )
                                  ],
                                ),
                              ],
                            ),
                            Align(
                              alignment: Alignment.bottomCenter,
                              child: Container(
                                width: DeviceInformation(context).width,
                                child: RaisedButton(
                                  onPressed: currentTotalPrice <= 0.0 ? null
                                    : (){
                                    for(int i = 0; i < servicesLength; i  ){
                                        savePurchase(
                                          article['id'],
                                          serviceIds[i],
                                          quantities[i],
                                          totalPrices[i],
                                        );
                                    }
                                    return _customStoredSuccessfully(context);
                                  },
                                  shape: RoundedRectangleBorder(
                                      borderRadius: BorderRadius.circular(10)),
                                  color: Color(0xffff9900),
                                  child: Text(
                                    translator.currentLanguage == 'ar' ?
                                    'اضافة ${currentTotalPrice.toStringAsFixed(2)} الى الطلب'
                                        : 'Add ${currentTotalPrice.toStringAsFixed(2)} To Order',
                                    style: TextStyle(color: Colors.white),
                                  ),
                                ),
                              ),
                            )
                          ],
                        )
                    );
                  }
                  if(snapshot.hasError){
                    return SomeThingWrongHappened();
                  }
                  return LoadingIndicator();
                },
            );
          },
        );
      }
  );
}
  

как вы можете видеть, это простые кнопки, которые берут цену товара и добавляют ее или уменьшают ее из старого значения, а затем сохраняют в БД, однако проблема не в api, как упоминалось — кнопки, когда я нажимаю на них почти на всех устройствах, они работают отлично, но на 5t это не такпо какой-то причине работает

Примечание: у меня нет телефона 5t, поэтому я не могу подключить его к своему компьютеру для отладки