reason

增加了第三方登录

......@@ -2,20 +2,18 @@
xmlns:tools="http://schemas.android.com/tools"
package="pub.yiyan.parlando.Parlando">
<uses-permission android:name="com.android.vending.BILLING" />
<application
android:requestLegacyExternalStorage="true"
tools:replace="android:label"
android:icon="@mipmap/ic_launcher"
android:label="Parlando"
android:icon="@mipmap/ic_launcher">
android:requestLegacyExternalStorage="true"
tools:replace="android:label">
<activity
android:name=".MainActivity"
android:launchMode="singleTop"
android:exported="true"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:exported="true"
android:hardwareAccelerated="true"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:windowSoftInputMode="adjustResize">
<!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user
......@@ -34,8 +32,8 @@
android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
<activity
android:name="com.braintreepayments.api.BraintreeBrowserSwitchActivity"
android:launchMode="singleTask"
android:exported="true">
android:exported="true"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
......@@ -49,5 +47,17 @@
<meta-data
android:name="flutterEmbedding"
android:value="2" />
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
<meta-data
android:name="com.facebook.sdk.ClientToken"
android:value="@string/facebook_client_token" />
</application>
<queries>
<provider android:authorities="com.facebook.katana.provider.PlatformProvider" />
</queries>
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
......
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="facebook_app_id">2980906268888917</string>
<string name="facebook_client_token">93d996aa47987e5031a94e0c3071bf48</string>
</resources>
\ No newline at end of file
......@@ -20,8 +20,11 @@ import 'package:Parlando/util/other_utils.dart';
import 'package:Parlando/widgets/my_app_bar.dart';
import 'package:Parlando/widgets/my_button.dart';
import 'package:Parlando/widgets/my_scroll_view.dart';
import 'package:flutter_facebook_auth/flutter_facebook_auth.dart';
import 'package:flutter_signin_button/flutter_signin_button.dart';
import 'package:getwidget/getwidget.dart';
import 'package:sign_in_with_apple/sign_in_with_apple.dart';
import 'package:twitter_login/twitter_login.dart';
import '../login_router.dart';
......@@ -165,8 +168,7 @@ class _LoginPageState extends State<LoginPage>
);
}
List<Widget> get _buildBody =>
<Widget>[
List<Widget> get _buildBody => <Widget>[
Text(
ParlandoLocalizations.of(context).passwordLogin,
style: TextStyles.textBold26,
......@@ -281,5 +283,58 @@ class _LoginPageState extends State<LoginPage>
: const Center(
child: Text(""),
),
Gaps.vGap16,
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
SignInButton(
Buttons.Facebook,
mini: true,
onPressed: () async {
final result = await FacebookAuth.instance.login(
permissions: ["email", "public_profile", "user_friends"]);
if (result.status == LoginStatus.success) {
// you are logged
final AccessToken accessToken = result.accessToken!;
print(accessToken.token);
} else {
print(result.status);
print(result.message);
}
},
),
SignInButton(
Buttons.Twitter,
mini: true,
onPressed: () async {
final twitterLogin = TwitterLogin(
// Consumer API keys
apiKey: 'XP8O1y3dx6apqgObc4NV1udOr',
apiSecretKey:
'EhPEUXZgFTlslYjyZXJ9TFaAlczmW5I6WoG0nVBYCzu4CJAuBT',
// Registered Callback URLs in TwitterApp
// Android is a deeplink
// iOS is a URLScheme
redirectURI: 'example://',
);
final authResult = await twitterLogin.login();
switch (authResult.status) {
case TwitterLoginStatus.loggedIn:
// success
break;
case TwitterLoginStatus.cancelledByUser:
// cancel
break;
case TwitterLoginStatus.error:
// error
break;
default:
break;
}
},
),
],
)
];
}
......
......@@ -398,6 +398,27 @@ packages:
description: flutter
source: sdk
version: "0.0.0"
flutter_facebook_auth:
dependency: "direct main"
description:
name: flutter_facebook_auth
url: "https://pub.flutter-io.cn"
source: hosted
version: "4.3.4+2"
flutter_facebook_auth_platform_interface:
dependency: transitive
description:
name: flutter_facebook_auth_platform_interface
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.1.2"
flutter_facebook_auth_web:
dependency: transitive
description:
name: flutter_facebook_auth_web
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.1.2"
flutter_inapp_purchase:
dependency: "direct main"
description:
......@@ -438,6 +459,13 @@ packages:
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.0.6"
flutter_signin_button:
dependency: "direct main"
description:
name: flutter_signin_button
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.0.0"
flutter_slidable:
dependency: "direct main"
description:
......@@ -1247,6 +1275,13 @@ packages:
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.0"
twitter_login:
dependency: "direct main"
description:
name: twitter_login
url: "https://pub.flutter-io.cn"
source: hosted
version: "4.2.3"
typed_data:
dependency: transitive
description:
......
......@@ -109,6 +109,10 @@ dependencies:
getwidget: ^2.0.5
sign_in_with_apple: ^4.0.0
flutter_facebook_auth: ^4.3.4+2
flutter_signin_button: ^2.0.0
twitter_login: ^4.2.3
event_bus: ^2.0.0
animated_radial_menu: ^0.0.1
......