diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 4b8980cbbfc8130d30a97caab2d260e5ae7ce461..5f22d9a5476526119d4480cafcc364e70e0cca40 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -26,5 +26,7 @@
+
diff --git a/android/settings_aar.gradle b/android/settings_aar.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..e7b4def49cb53d9aa04228dd3edb14c9e635e003
--- /dev/null
+++ b/android/settings_aar.gradle
@@ -0,0 +1 @@
+include ':app'
diff --git a/assets/logo/google.png b/assets/logo/google.png
new file mode 100644
index 0000000000000000000000000000000000000000..2ef869d64c542bfa652312d35e2fea1757456558
Binary files /dev/null and b/assets/logo/google.png differ
diff --git a/assets/logo/google.svg b/assets/logo/google.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7f1d5e497be41367280aece388d69ab4c999aab1
--- /dev/null
+++ b/assets/logo/google.svg
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+]>
+
diff --git a/lib/main.dart b/lib/main.dart
index 4ed6580765258a9ac737ab7948dde4e5fe17c9bc..1b5188ac51e22610224a3546c9d183a4cabd50cd 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -1,6 +1,8 @@
import 'package:flutter/material.dart';
import 'flavor/flavor.dart';
+import 'page/login/login.dart';
+import 'page/registrasi/registrasi.dart';
void main() {
ApiFlavor.flavor = BuildFlavor.production.toString();
@@ -88,10 +90,28 @@ class _MyHomePageState extends State {
Text(
'Hello World', style: TextStyle(fontWeight: FontWeight.bold, fontSize: 40)
),
+ RaisedButton(
+ onPressed: () => _navigateToLogin(context),
+ child: Text('Login'),
+ ),
+ RaisedButton(
+ onPressed: () => _navigateToRegistrasi(context),
+ child: Text('Registrasi'),
+ ),
],
),
),
);
}
+
+ void _navigateToLogin(BuildContext context) {
+ final route = MaterialPageRoute(builder: (_) => Login());
+ Navigator.of(context).push(route);
+ }
+
+ void _navigateToRegistrasi(BuildContext context) {
+ final route = MaterialPageRoute(builder: (_) => Registrasi());
+ Navigator.of(context).push(route);
+ }
}
diff --git a/lib/network/cookies_interface.dart b/lib/network/cookies_interface.dart
deleted file mode 100644
index 5d597734c317a996cbabb13446d1ead6e8565e4c..0000000000000000000000000000000000000000
--- a/lib/network/cookies_interface.dart
+++ /dev/null
@@ -1,71 +0,0 @@
-import 'dart:convert';
-import 'dart:io';
-import '../config/strings.dart';
-import 'package:path_provider/path_provider.dart';
-
-class CookiesInterface {
-
- static Future checkCookieFileAvailability() async {
- Directory dir;
- await getApplicationDocumentsDirectory().then(
- (Directory directory) {
- dir = directory;
- }
- );
- File cookieFile = File(dir.path + "/cookies.json");
- bool cookiesExist = cookieFile.existsSync();
-
- return cookiesExist;
- }
-
- static Future createCookieFile(Map responseHeaders) async {
- try {
- String setCookie;
- String csrfToken;
- String sessionId;
- String userKey;
- List cookiesList;
- Directory dir;
-
- await getApplicationDocumentsDirectory().then(
- (Directory directory) {
- dir = directory;
- }
- );
- File cookieFile = new File(dir.path + "/cookies.json");
- cookieFile.createSync();
-
- setCookie = responseHeaders["set-cookie"];
- if (setCookie != null) {
- csrfToken = setCookie.split(";")[0].split("=")[1];
- sessionId = setCookie.split(";")[4].split(",")[1].split("=")[1];
- userKey = KEY;
- }
-
- cookiesList = [
- csrfToken,
- sessionId,
- userKey,
- ];
-
- cookieFile.writeAsStringSync(json.encode(cookiesList));
- return;
- } on Exception catch (e) {
- print(e.toString());
- throw e;
- }
- }
-
- static Future> getCookieFile() async {
- Directory dir;
- await getApplicationDocumentsDirectory().then(
- (Directory directory) {
- dir = directory;
- }
- );
- File file = File(dir.path + "/cookies.json");
-
- dynamic res = file.readAsStringSync();
- return json.decode(res);
- }
-}
\ No newline at end of file
diff --git a/lib/network/data/network_model.dart b/lib/network/data/network_model.dart
deleted file mode 100644
index 0b49f62ae5e64f811b2e0622b4444ef5843ec64a..0000000000000000000000000000000000000000
--- a/lib/network/data/network_model.dart
+++ /dev/null
@@ -1,11 +0,0 @@
-class NetworkModel {
- var response;
- int statusCode;
- String errorMessage;
-
- NetworkModel({
- this.response,
- this.statusCode,
- this.errorMessage,
- });
-}
diff --git a/lib/network/network_interface.dart b/lib/network/network_interface.dart
deleted file mode 100644
index 698fcbcad74721fedacedca274c1754647acef32..0000000000000000000000000000000000000000
--- a/lib/network/network_interface.dart
+++ /dev/null
@@ -1,136 +0,0 @@
-import 'dart:convert';
-import 'package:ppl_disabilitas/flavor/flavor.dart';
-import 'data/network_model.dart';
-import 'package:http/http.dart' as http;
-import '../config/strings.dart';
-import 'cookies_interface.dart';
-
-class NetworkInterface {
- String url = ApiFlavor.getBaseUrl();
- String key = KEY;
-
- // POST request
- Future post({
- String path,
- dynamic bodyParams,
- bool isLogin,
- }) async {
- Map headersJson = await _buildRequestHeader(isLogin);
- NetworkModel model;
- try {
- model = await http.post(
- "$url$path",
- body: json.encode(bodyParams),
- headers: headersJson,
- ).then((response) async {
- Map responseBody = json.decode(response.body);
- if (!isLogin) {
- if (responseBody.containsKey("key")) {
- setKey(responseBody["key"]);
- }
- await CookiesInterface.createCookieFile(response.headers);
- }
- return NetworkModel(
- statusCode: response.statusCode,
- response: responseBody,
- );
- });
- if (model.statusCode >= 400) {
- throw Exception();
- }
- } on Exception catch (e) {
- NetworkModel errorModel = NetworkModel(
- statusCode: model.statusCode,
- errorMessage: e.toString(),
- response: model.response);
- model = errorModel;
- }
-
- return model;
- }
-
- // GET request
- Future get({
- String path,
- bool isLogin,
- }) async {
- Map headersJson = await _buildRequestHeader(isLogin);
- NetworkModel model;
- try {
- model = await http
- .get(
- "$url$path",
- headers: headersJson,
- )
- .then((response) {
- dynamic responseBody = json.decode(response.body);
- return NetworkModel(
- statusCode: response.statusCode,
- response: responseBody,
- );
- });
- if (model.statusCode >= 400) {
- throw Exception();
- }
- } on Exception catch (e) {
- NetworkModel errorModel = NetworkModel(
- statusCode: model.statusCode,
- errorMessage: e.toString(),
- response: model.response);
- model = errorModel;
- }
-
- return model;
- }
-
- // PATCH request
- Future patch({
- String path,
- dynamic bodyParams,
- bool isLogin,
- }) async {
- NetworkModel model;
- Map headersJson = await _buildRequestHeader(isLogin);
- try {
- model = await http
- .patch(
- "$url$path",
- body: json.encode(bodyParams),
- headers: headersJson,
- )
- .then((response) {
- print(response.body.toString());
- return NetworkModel(
- statusCode: response.statusCode,
- response: jsonDecode(response.body),
- );
- });
- if (model.statusCode >= 400) {
- throw Exception();
- }
- } on Exception catch (e) {
- NetworkModel errorModel = NetworkModel(
- statusCode: model.statusCode,
- errorMessage: e.toString(),
- response: model.response);
- model = errorModel;
- }
-
- return model;
- }
-
- Future