Skip to content

Commit

Permalink
Merge pull request #7 from abc873693/develop
Browse files Browse the repository at this point in the history
Update to v0.0.7
  • Loading branch information
abc873693 authored Jun 13, 2019
2 parents 7692364 + ec1c963 commit fc1dcf5
Show file tree
Hide file tree
Showing 9 changed files with 318 additions and 716 deletions.
1 change: 1 addition & 0 deletions assets/md5.js

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

4 changes: 2 additions & 2 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ DEPENDENCIES:
- firebase_crashlytics (from `.symlinks/plugins/firebase_crashlytics/ios`)
- firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`)
- firebase_remote_config (from `.symlinks/plugins/firebase_remote_config/ios`)
- Flutter (from `.symlinks/flutter/ios`)
- Flutter (from `.symlinks/flutter/ios-release`)
- flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`)
- package_info (from `.symlinks/plugins/package_info/ios`)
- path_provider (from `.symlinks/plugins/path_provider/ios`)
Expand Down Expand Up @@ -165,7 +165,7 @@ EXTERNAL SOURCES:
firebase_remote_config:
:path: ".symlinks/plugins/firebase_remote_config/ios"
Flutter:
:path: ".symlinks/flutter/ios"
:path: ".symlinks/flutter/ios-release"
flutter_local_notifications:
:path: ".symlinks/plugins/flutter_local_notifications/ios"
package_info:
Expand Down
2 changes: 1 addition & 1 deletion ios/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -323,7 +323,7 @@
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/FMDB/FMDB.framework",
"${PODS_ROOT}/../.symlinks/flutter/ios/Flutter.framework",
"${PODS_ROOT}/../.symlinks/flutter/ios-release/Flutter.framework",
"${BUILT_PRODUCTS_DIR}/GoogleUtilities/GoogleUtilities.framework",
"${BUILT_PRODUCTS_DIR}/Protobuf/Protobuf.framework",
"${BUILT_PRODUCTS_DIR}/flutter_local_notifications/flutter_local_notifications.framework",
Expand Down
1 change: 1 addition & 0 deletions lib/pages/home_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -255,6 +255,7 @@ class HomePageState extends State<HomePage> {
userInfo = response;
});
FA.setUserProperty('department', userInfo.department);
FA.logUserInfo(userInfo.department);
FA.setUserId(userInfo.studentId);
}
}).catchError((e) {});
Expand Down
12 changes: 10 additions & 2 deletions lib/pages/login_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import 'dart:io';
import 'package:encrypt/encrypt.dart';
import 'package:firebase_remote_config/firebase_remote_config.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart' show rootBundle;
import 'package:nsysu_ap/config/constants.dart';
import 'package:nsysu_ap/res/colors.dart' as Resource;
import 'package:nsysu_ap/utils/app_localizations.dart';
Expand Down Expand Up @@ -51,6 +52,11 @@ class LoginPageState extends State<LoginPage>
_getPreference();
_checkUpdate();
}
f();
}

f() async {
//print(MD5.base64_md5("Rain5345"));
}

@override
Expand All @@ -72,11 +78,13 @@ class LoginPageState extends State<LoginPage>
children: <Widget>[
SizedBox(
child: WebView(
initialUrl: 'https://sso.nsysu.edu.tw/index.php/passport/login',
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated: (controller) {
onWebViewCreated: (controller) async {
print('onWebViewCreated = $controller');
//source https://sso.nsysu.edu.tw/public/js/md5.js
String code = await rootBundle.loadString('assets/md5.js');
Helper.controller = controller;
Helper.controller.evaluateJavascript(code);
},
onPageFinished: (s) {
print('onPageFinished = $s');
Expand Down
29 changes: 29 additions & 0 deletions lib/utils/firebase_analytics_utils.dart
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,18 @@ class FA {
print('setUserProperty succeeded');
}

static Future<void> logUserInfo(String department) async {
if (Platform.isIOS || Platform.isAndroid)
await analytics.logEvent(
name: 'user_info',
parameters: <String, dynamic>{
'department': department,
'platform': Platform.operatingSystem,
},
);
print('setUserProperty succeeded');
}

static Future<void> logApiEvent(String type, int status,
{String message = ''}) async {
PackageInfo packageInfo = await PackageInfo.fromPlatform();
Expand Down Expand Up @@ -75,6 +87,23 @@ class FA {
print('log CalculateUnits succeeded');
}

static const String COURSE_HTML_PARSER = 'course_html_parser';
static const String SCORE_HTML_PARSER = 'score_html_parser';

static Future<void> logTimeEvent(String name, double seconds) async {
PackageInfo packageInfo = await PackageInfo.fromPlatform();
if (Platform.isIOS || Platform.isAndroid)
await analytics.logEvent(
name: name,
parameters: <String, dynamic>{
'time': seconds,
'buildNumber': int.parse(packageInfo.buildNumber),
'platform': Platform.operatingSystem,
},
);
print('log TimeEvent succeeded');
}

static Future<void> logAction(String name, String action,
{String message = ''}) async {
PackageInfo packageInfo = await PackageInfo.fromPlatform();
Expand Down
7 changes: 7 additions & 0 deletions lib/utils/helper.dart
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import 'package:webview_flutter/webview_flutter.dart';

import 'app_localizations.dart';
import 'big5.dart';
import 'firebase_analytics_utils.dart';

const HOST = "nsysu-ap.rainvisitor.me";
const PORT = '8443';
Expand Down Expand Up @@ -188,6 +189,7 @@ class Helper {
);
String text = big5.decode(response.bodyBytes);
//print('text = ${text}');
var startTime = DateTime.now().millisecondsSinceEpoch;
var document = parse(text, encoding: 'BIG-5');
var trDoc = document.getElementsByTagName('tr');
var courseData = CourseData(
Expand Down Expand Up @@ -234,6 +236,8 @@ class Helper {
courseData.courseTables.saturday = null;
if (courseData.courseTables.sunday.length == 0)
courseData.courseTables.sunday = null;
var endTime = DateTime.now().millisecondsSinceEpoch;
FA.logTimeEvent(FA.COURSE_HTML_PARSER, (endTime - startTime) / 1000.0);
}
//print(DateTime.now());
return courseData;
Expand Down Expand Up @@ -295,6 +299,7 @@ class Helper {
encoding: Encoding.getByName('BIG-5'),
);
String text = big5.decode(response.bodyBytes);
var startTime = DateTime.now().millisecondsSinceEpoch;
var document = parse(text, encoding: 'BIG-5');
List<Score> list = [];
Detail detail = Detail();
Expand Down Expand Up @@ -332,6 +337,8 @@ class Helper {
finalScore: fontDoc[5].text,
));
}
var endTime = DateTime.now().millisecondsSinceEpoch;
FA.logTimeEvent(FA.SCORE_HTML_PARSER, (endTime - startTime) / 1000.0);
}
/*var trDoc = document.getElementsByTagName('tr');
for (var i = 0; i < trDoc.length; i++) {
Expand Down
Loading

0 comments on commit fc1dcf5

Please sign in to comment.