IAP changes

This commit is contained in:
Hillel Coren 2022-10-06 13:24:34 +03:00
parent fcc18414f8
commit bdfed76c1f
2 changed files with 32 additions and 22 deletions

View File

@ -13,6 +13,7 @@ import 'package:invoiceninja_flutter/redux/auth/auth_actions.dart';
import 'package:invoiceninja_flutter/redux/reports/reports_actions.dart'; import 'package:invoiceninja_flutter/redux/reports/reports_actions.dart';
import 'package:invoiceninja_flutter/redux/settings/settings_actions.dart'; import 'package:invoiceninja_flutter/redux/settings/settings_actions.dart';
import 'package:invoiceninja_flutter/ui/app/sms_verification.dart'; import 'package:invoiceninja_flutter/ui/app/sms_verification.dart';
import 'package:invoiceninja_flutter/ui/app/upgrade_dialog.dart';
import 'package:invoiceninja_flutter/utils/app_review.dart'; import 'package:invoiceninja_flutter/utils/app_review.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
import 'package:pointer_interceptor/pointer_interceptor.dart'; import 'package:pointer_interceptor/pointer_interceptor.dart';
@ -1311,17 +1312,24 @@ void _showAbout(BuildContext context) async {
.replaceFirst(':value', state.appVersion)); .replaceFirst(':value', state.appVersion));
}, },
onLongPress: () { onLongPress: () {
showMessageDialog( if (kReleaseMode) {
showMessageDialog(
context: context,
message: FLUTTER_VERSION['channel'].toUpperCase() +
'' +
FLUTTER_VERSION['frameworkVersion'],
secondaryActions: [
TextButton(
child: Text(localization.logout.toUpperCase()),
onPressed: () => store.dispatch(UserLogout()),
),
]);
} else {
showDialog<void>(
context: context, context: context,
message: FLUTTER_VERSION['channel'].toUpperCase() + builder: (context) => UpgradeDialog(),
'' + );
FLUTTER_VERSION['frameworkVersion'], }
secondaryActions: [
TextButton(
child: Text(localization.logout.toUpperCase()),
onPressed: () => store.dispatch(UserLogout()),
),
]);
}, },
), ),
SizedBox(height: 8), SizedBox(height: 8),

View File

@ -15,6 +15,7 @@ import 'package:in_app_purchase_storekit/in_app_purchase_storekit.dart';
import 'package:in_app_purchase_storekit/store_kit_wrappers.dart'; import 'package:in_app_purchase_storekit/store_kit_wrappers.dart';
import 'package:invoiceninja_flutter/constants.dart'; import 'package:invoiceninja_flutter/constants.dart';
import 'package:invoiceninja_flutter/data/web_client.dart'; import 'package:invoiceninja_flutter/data/web_client.dart';
import 'package:invoiceninja_flutter/redux/app/app_actions.dart';
import 'package:invoiceninja_flutter/redux/app/app_state.dart'; import 'package:invoiceninja_flutter/redux/app/app_state.dart';
import 'package:invoiceninja_flutter/utils/dialogs.dart'; import 'package:invoiceninja_flutter/utils/dialogs.dart';
import 'package:invoiceninja_flutter/utils/localization.dart'; import 'package:invoiceninja_flutter/utils/localization.dart';
@ -284,23 +285,24 @@ class _UpgradeDialogState extends State<UpgradeDialog> {
_purchasePending = false; _purchasePending = false;
}); });
print('## PLAN UNLOCKED');
print('## ${purchaseDetails.purchaseID}');
print('## ${purchaseDetails.productID}');
final store = StoreProvider.of<AppState>(context); final store = StoreProvider.of<AppState>(context);
final state = store.state; final state = store.state;
final url = (state.isStaging ? kAppStagingUrl : kAppProductionUrl) + final url = (state.isStaging ? kAppStagingUrl : kAppProductionUrl) +
'/admin/subscription'; '/api/admin/subscription';
final data = {
'inapp_transaction_id': purchaseDetails.purchaseID,
'key': state.account.key,
'plan': purchaseDetails.productID,
'plan_paid':
(int.parse(purchaseDetails.transactionDate) / 1000).floor(),
};
await WebClient().post(url, state.credentials.token, await WebClient().post(url, state.credentials.token,
data: jsonEncode({ data: jsonEncode(data));
'inapp_transaction_id': purchaseDetails.purchaseID,
'account_id': state.account.id,
'plan': purchaseDetails.productID, store.dispatch(RefreshData());
'plan_paid':
(int.parse(purchaseDetails.transactionDate) / 1000).floor(),
}));
} }
void handleError(IAPError error) { void handleError(IAPError error) {