Skip to content

Commit

Permalink
- Fix the tablet display interface
Browse files Browse the repository at this point in the history
- Optimize application experience details
  • Loading branch information
iHTCboy committed Mar 13, 2021
1 parent 5b044d5 commit f0e22dc
Show file tree
Hide file tree
Showing 15 changed files with 174 additions and 63 deletions.
31 changes: 18 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,15 @@ iPomodoro(爱番茄)。🍅 番茄工作法是一种时间管理法方法,在


## iPomodoro(爱番茄🍅)
爱番茄是一个简单和有效的番茄工作法的应用,灵感来自`我要当学霸`AppmacOS版`Promodoro Timer`这2个App已经下架,所以,想以此为基础,开发Android/iOS/macOS版本,并且开源,所有平台暂定免费下载,计划内置打赏机制,iOS/macOS版本不定时收费1人民币(苹果开发账号费)。
爱番茄是一个简单和有效的番茄工作法的应用,灵感来自 iOS app `我要当学霸`macOS app `Promodoro Timer`这2个App已经下架多年了,所以,想以此为基础,开发Android/iOS/macOS版本,并且开源,所有平台暂定免费下载,计划内置打赏机制,iOS/macOS版本不定时收费1人民币(苹果开发账号费)。


## 简介
分心?
拖延?
高效?
专注?

分心
拖延
高效
专注
- 分心?
- 拖延?
- 高效?
- 专注?

iPomodoro(爱番茄)

Expand All @@ -45,13 +41,22 @@ iPomodoro(爱番茄)
你还有救!


### 下载安装
1、AppStore付费支持
[iOS App Store](https://apps.apple.com/cn/app/ipomodoro/id1439666929)
### 下载&安装

1、商店安装

| 已上架的商店 | 下载地址 |
|---|---|
| 苹果商店 | [https://apps.apple.com/cn/app/ipomodoro/id1439666929](https://apps.apple.com/cn/app/ipomodoro/id1439666929) |
| 谷歌商店 | [https://play.google.com/store/apps/details?id=com.iHTCboy.iPomodoro](https://play.google.com/store/apps/details?id=com.iHTCboy.iPomodoro) |
| 小米商店 | [http://app.xiaomi.com/detail/1341005](http://app.xiaomi.com/detail/1341005) |
| 酷安商店 | [https://www.coolapk.com/apk/282769](https://www.coolapk.com/apk/282769) |

> 注:因为苹果开发者账号需要 ¥688 年费,所以 AppStore下载收费1元。介意的朋友可以下载本项目代码在macOS系统编译安装。

2、编译安装
因为苹果开发者账号需要 ¥688 年费,所以 AppStore下载收费请见谅。你可以下载本项目代码在macOS系统编译安装。
iOS app 因为苹果开发者账号需要 ¥688 年费,所以 AppStore 为付费下载,请见谅。你可以下载本项目代码在macOS系统编译安装。


### 应用截图
Expand Down
4 changes: 2 additions & 2 deletions app/ios/Flutter/flutter_export_environment.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ export "FLUTTER_APPLICATION_PATH=/Users/HTC/Documents/Programing/Flutter/iPomodo
export "FLUTTER_TARGET=/Users/HTC/Documents/Programing/Flutter/iPomodoro-Flutter/app/lib/main.dart"
export "FLUTTER_BUILD_DIR=build"
export "SYMROOT=${SOURCE_ROOT}/../build/ios"
export "FLUTTER_BUILD_NAME=2.0.0"
export "FLUTTER_BUILD_NUMBER=210307"
export "FLUTTER_BUILD_NAME=2.1.1"
export "FLUTTER_BUILD_NUMBER=210310"
export "DART_DEFINES=Zmx1dHRlci5pbnNwZWN0b3Iuc3RydWN0dXJlZEVycm9ycz10cnVl,RkxVVFRFUl9XRUJfQVVUT19ERVRFQ1Q9dHJ1ZQ=="
export "DART_OBFUSCATION=false"
export "TRACK_WIDGET_CREATION=true"
Expand Down
12 changes: 6 additions & 6 deletions app/ios/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -464,7 +464,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = 2021.03.07;
CURRENT_PROJECT_VERSION = 2021.03.12;
DEVELOPMENT_TEAM = 28PV6G96R7;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
Expand All @@ -480,7 +480,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
MARKETING_VERSION = 2.0.0;
MARKETING_VERSION = 2.2.0;
PRODUCT_BUNDLE_IDENTIFIER = com.iHTCboy.iPomodoro;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
Expand Down Expand Up @@ -606,7 +606,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = 2021.03.07;
CURRENT_PROJECT_VERSION = 2021.03.12;
DEVELOPMENT_TEAM = 28PV6G96R7;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
Expand All @@ -622,7 +622,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
MARKETING_VERSION = 2.0.0;
MARKETING_VERSION = 2.2.0;
PRODUCT_BUNDLE_IDENTIFIER = com.iHTCboy.iPomodoro;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
Expand All @@ -640,7 +640,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = 2021.03.07;
CURRENT_PROJECT_VERSION = 2021.03.12;
DEVELOPMENT_TEAM = 28PV6G96R7;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
Expand All @@ -656,7 +656,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
MARKETING_VERSION = 2.0.0;
MARKETING_VERSION = 2.2.0;
PRODUCT_BUNDLE_IDENTIFIER = com.iHTCboy.iPomodoro;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
Expand Down
8 changes: 4 additions & 4 deletions app/lib/generated/intl/messages_en.dart
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,8 @@ class MessageLookup extends MessageLookupByLibrary {
"pomodoro_times" : m6,
"pomodoro_yes" : MessageLookupByLibrary.simpleMessage("Yes(😭)"),
"privacy_policy_agree" : MessageLookupByLibrary.simpleMessage("Agree"),
"privacy_policy_show" : MessageLookupByLibrary.simpleMessage("Privacy Agreement"),
"privacy_policy_tips" : MessageLookupByLibrary.simpleMessage("You need to agree to the user privacy policy agreement to use this application, click \'agree\', to continue using, if you do not agree, please exit the application."),
"privacy_policy_reject" : MessageLookupByLibrary.simpleMessage("Reject"),
"privacy_policy_tips" : MessageLookupByLibrary.simpleMessage("You need to agree to the \"User Privacy Policy Agreement\", click the \"Agree\" button to agree to continue to use; if you do not agree, please click \"Reject\" to exit the application."),
"set_app_review" : MessageLookupByLibrary.simpleMessage("In-app review"),
"set_app_review_desc" : m7,
"set_appstore_review" : MessageLookupByLibrary.simpleMessage("Store to review"),
Expand All @@ -93,11 +93,11 @@ class MessageLookup extends MessageLookupByLibrary {
"set_localizetion" : MessageLookupByLibrary.simpleMessage("Set Language"),
"set_localizetion_desc" : MessageLookupByLibrary.simpleMessage("Change app language"),
"set_open_source" : MessageLookupByLibrary.simpleMessage("Open source"),
"set_open_source_desc" : MessageLookupByLibrary.simpleMessage("Open source, welcome to follow"),
"set_open_source_desc" : MessageLookupByLibrary.simpleMessage("Welcome to follow"),
"set_privacy_policy" : MessageLookupByLibrary.simpleMessage("Privacy Policy"),
"set_privacy_policy_desc" : MessageLookupByLibrary.simpleMessage("User Use Service Agreement"),
"set_recommend" : MessageLookupByLibrary.simpleMessage("More"),
"set_recommend_desc" : MessageLookupByLibrary.simpleMessage("More developer recommendations"),
"set_recommend_desc" : MessageLookupByLibrary.simpleMessage("Developer recommendations"),
"set_screen_brightness" : MessageLookupByLibrary.simpleMessage("Set brightness"),
"set_screen_brightness_desc" : MessageLookupByLibrary.simpleMessage("In order to save power"),
"set_share_friend" : MessageLookupByLibrary.simpleMessage("Share"),
Expand Down
4 changes: 2 additions & 2 deletions app/lib/generated/intl/messages_zh.dart
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,8 @@ class MessageLookup extends MessageLookupByLibrary {
"pomodoro_times" : m6,
"pomodoro_yes" : MessageLookupByLibrary.simpleMessage("是(😭)"),
"privacy_policy_agree" : MessageLookupByLibrary.simpleMessage("同意"),
"privacy_policy_show" : MessageLookupByLibrary.simpleMessage("隐私协议"),
"privacy_policy_tips" : MessageLookupByLibrary.simpleMessage("使用本应用需要同意用户隐私政策协议,点击“同意”继续使用,不同意请退出应用。"),
"privacy_policy_reject" : MessageLookupByLibrary.simpleMessage("拒绝"),
"privacy_policy_tips" : MessageLookupByLibrary.simpleMessage("需要同意《用户隐私政策协议》才能继续使用,点击可查看协议内容;点击“同意”按钮表示同意隐私协议继续使用;如不同意,请点击“拒绝”退出应用。"),
"set_app_review" : MessageLookupByLibrary.simpleMessage("应用内评分"),
"set_app_review_desc" : m7,
"set_appstore_review" : MessageLookupByLibrary.simpleMessage("去商店评分"),
Expand Down
20 changes: 10 additions & 10 deletions app/lib/generated/l10n.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions app/lib/l10n/intl_en.arb
Original file line number Diff line number Diff line change
Expand Up @@ -98,14 +98,14 @@
"set_privacy_policy": "Privacy Policy",
"set_privacy_policy_desc": "User Use Service Agreement",
"set_open_source": "Open source",
"set_open_source_desc": "Open source, welcome to follow",
"set_open_source_desc": "Welcome to follow",
"set_focus": "Focus more",
"set_focus_desc": "Welcome to author's blog",
"set_recommend": "More",
"set_recommend_desc": "More developer recommendations",
"set_recommend_desc": "Developer recommendations",
"set_localizetion": "Set Language",
"set_localizetion_desc": "Change app language",
"privacy_policy_tips": "You need to agree to the user privacy policy agreement to use this application, click 'agree', to continue using, if you do not agree, please exit the application.",
"privacy_policy_tips": "You need to agree to the \"User Privacy Policy Agreement\", click the \"Agree\" button to agree to continue to use; if you do not agree, please click \"Reject\" to exit the application.",
"privacy_policy_agree": "Agree",
"privacy_policy_show": "Privacy Agreement"
"privacy_policy_reject": "Reject"
}
4 changes: 2 additions & 2 deletions app/lib/l10n/intl_zh.arb
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@
"set_recommend_desc": "更多开发者内容推荐",
"set_localizetion": "设置显示语言",
"set_localizetion_desc": "更改App的语言",
"privacy_policy_tips": "使用本应用需要同意用户隐私政策协议,点击“同意”继续使用,不同意请退出应用。",
"privacy_policy_tips": "需要同意《用户隐私政策协议》才能继续使用,点击可查看协议内容;点击“同意”按钮表示同意隐私协议继续使用;如不同意,请点击“拒绝”退出应用。",
"privacy_policy_agree": "同意",
"privacy_policy_show": "隐私协议"
"privacy_policy_reject": "拒绝"
}
2 changes: 1 addition & 1 deletion app/lib/ui/page/countdown_settings.dart
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ class _CountdownSettingsPageState extends State<CountdownSettingsPage> {
fontSize: DeviceUtils.get_size(context, 17, 19, 22))),
trailing: Container(
height: double.infinity,
width: 130,
width: DeviceUtils.get_size(context, 130, 140, 200),
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.center,
Expand Down
4 changes: 2 additions & 2 deletions app/lib/ui/page/me_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ class MePage extends StatelessWidget {
'title': S.of(context).set_localizetion,
'subtitle': S.of(context).set_localizetion_desc,
'icon': Icons.language,
'icon_color': Colors.indigo
'icon_color': Colors.cyan
},
{
'title': S.of(context).set_app_review,
Expand Down Expand Up @@ -150,7 +150,7 @@ class MePage extends StatelessWidget {
]),
trailing: Container(
height: double.infinity,
width: DeviceUtils.get_size(context, 200, 220, 250),
width: DeviceUtils.get_size(context, 200, 220, 300),
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.center,
Expand Down
23 changes: 14 additions & 9 deletions app/lib/ui/page/pomodoro_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import 'package:iPomodoro/common/utils/time_utils.dart';
import 'package:iPomodoro/config/app_config.dart';
import 'package:iPomodoro/generated/l10n.dart';
import 'package:iPomodoro/ui/widget/cupertino_alert.dart';
import 'package:iPomodoro/ui/widget/privacy_policy_dialog.dart';
import 'package:iPomodoro/ui/widget/time_dialog.dart';
import 'package:iPomodoro/ui/widget/tips_dialog.dart';
import 'package:iPomodoro/common/channel/native_method_channel.dart';
Expand Down Expand Up @@ -56,7 +57,8 @@ class _PomodoroPageState extends State<PomodoroPage> with WidgetsBindingObserver
_show_tpis = false;
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
showTips();
// show_privacy_policy();
//TODO:华为渠道必须有隐私弹窗
//show_privacy_policy();
});
};
}
Expand Down Expand Up @@ -432,14 +434,17 @@ class _PomodoroPageState extends State<PomodoroPage> with WidgetsBindingObserver
if(Platform.isAndroid) {
AppStorage.getInt(AppStorage.K_STRING_PRIVACY_SHOW_TIPS).then((value) {
if (value == null) {
AlertView.show(context, S.of(context).tips_text, S.of(context).privacy_policy_tips,
confirmText: S.of(context).privacy_policy_agree, cancelText: S.of(context).privacy_policy_show, cancelTextColor: Colors.green).then((bool isOK) {
//save status
AppStorage.setInt(AppStorage.K_STRING_PRIVACY_SHOW_TIPS, 1);
if(!isOK) {
NativeChannel.invokeMethod('privacy_policy');
}
});
PrivacyPolicyDialog().showCustomDialog(context,
textClickedFunction: () {
NativeChannel.invokeMethod('privacy_policy');
},
cancelBtnFunction: () {
//退出应用
exit(404);
},
agreeBtnFunction: () {
AppStorage.setInt(AppStorage.K_STRING_PRIVACY_SHOW_TIPS, 1);
});
}
});
}
Expand Down
10 changes: 5 additions & 5 deletions app/lib/ui/page/pomodoro_settings.dart
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ class _PomodoroSettingsPageState extends State<PomodoroSettingsPage> {
fontSize: DeviceUtils.get_size(context, 17, 19, 22))),
trailing: Container(
height: double.infinity,
width: 120,
width: DeviceUtils.get_size(context, 120, 120, 180),
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.center,
Expand All @@ -98,7 +98,7 @@ class _PomodoroSettingsPageState extends State<PomodoroSettingsPage> {
fontSize: DeviceUtils.get_size(context, 17, 19, 22))),
trailing: Container(
height: double.infinity,
width: 100,
width: DeviceUtils.get_size(context, 100, 100, 150),
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.center,
Expand All @@ -125,7 +125,7 @@ class _PomodoroSettingsPageState extends State<PomodoroSettingsPage> {
fontSize: DeviceUtils.get_size(context, 17, 19, 22))),
trailing: Container(
height: double.infinity,
width: 100,
width: DeviceUtils.get_size(context, 100, 100, 150),
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.center,
Expand All @@ -152,7 +152,7 @@ class _PomodoroSettingsPageState extends State<PomodoroSettingsPage> {
fontSize: DeviceUtils.get_size(context, 17, 19, 22))),
trailing: Container(
height: double.infinity,
width: 120,
width: DeviceUtils.get_size(context, 130, 140, 180),
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.center,
Expand All @@ -179,7 +179,7 @@ class _PomodoroSettingsPageState extends State<PomodoroSettingsPage> {
fontSize: DeviceUtils.get_size(context, 17, 19, 22))),
trailing: Container(
height: double.infinity,
width: 120,
width: DeviceUtils.get_size(context, 120, 120, 180),
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.center,
Expand Down
4 changes: 2 additions & 2 deletions app/lib/ui/page/timer_settings.dart
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ class _TimerSettingsPageState extends State<TimerSettingsPage> {
fontSize: DeviceUtils.get_size(context, 17, 19, 22))),
trailing: Container(
height: double.infinity,
width: 120,
width: DeviceUtils.get_size(context, 130, 140, 200),
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.center,
Expand All @@ -85,7 +85,7 @@ class _TimerSettingsPageState extends State<TimerSettingsPage> {
fontSize: DeviceUtils.get_size(context, 17, 19, 22))),
trailing: Container(
height: double.infinity,
width: 120,
width: DeviceUtils.get_size(context, 130, 130, 200),
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.center,
Expand Down
Loading

0 comments on commit f0e22dc

Please sign in to comment.