Skip to content

Commit b1933d0

Browse files
committed
Update to Facebook SDK V4
1 parent 353fca2 commit b1933d0

File tree

22 files changed

+177
-113
lines changed

22 files changed

+177
-113
lines changed

ParseLoginSampleBasic/AndroidManifest.xml

+11-4
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,18 @@
4343
android:name="com.parse.ui.ParseLoginActivity.TWITTER_LOGIN_ENABLED"
4444
android:value="true"/>
4545
</activity>
46-
<activity
47-
android:name="com.facebook.LoginActivity"
48-
android:label="@string/app_name"
49-
android:launchMode="singleTop"/>
46+
<activity android:name="com.facebook.FacebookActivity"
47+
android:configChanges=
48+
"keyboard|keyboardHidden|screenLayout|screenSize|orientation"
49+
android:theme="@android:style/Theme.Translucent.NoTitleBar"
50+
android:label="@string/app_name" />
5051

52+
<meta-data
53+
android:name="com.parse.APPLICATION_ID"
54+
android:value="@string/parse_app_id" />
55+
<meta-data
56+
android:name="com.parse.CLIENT_KEY"
57+
android:value="@string/parse_client_key" />
5158
<meta-data
5259
android:name="com.facebook.sdk.ApplicationId"
5360
android:value="@string/facebook_app_id"/>

ParseLoginSampleBasic/build.gradle

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
apply plugin: 'android'
22

33
dependencies {
4-
compile 'com.facebook.android:facebook-android-sdk:3.23.1'
4+
// rootProject.ext.* variables are defined in project gradle file, you can also use path here.
5+
compile rootProject.ext.facebookSDK
56
compile project(':ParseLoginUI')
6-
compile 'com.android.support:support-v4:22.0.0'
7-
compile files('../ParseLoginUI/libs/Parse-1.8.4.jar')
8-
compile files('../ParseLoginUI/libs/ParseFacebookUtils-1.8.4.jar')
7+
compile rootProject.ext.androidSupport
8+
compile files(rootProject.ext.parsePath)
9+
compile files(rootProject.ext.parseFacebookUtilsPath)
910
}
1011

1112
android {

ParseLoginSampleBasic/src/com/parse/loginsample/basic/SampleApplication.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,20 @@
2424
import android.app.Application;
2525

2626
import com.parse.Parse;
27+
import com.parse.ParseFacebookUtils;
2728
import com.parse.ParseTwitterUtils;
2829

2930
public class SampleApplication extends Application {
3031
@Override
3132
public void onCreate() {
3233
super.onCreate();
3334
// Required - Initialize the Parse SDK
34-
Parse.initialize(this, getString(R.string.parse_app_id),
35-
getString(R.string.parse_client_key));
35+
Parse.initialize(this);
3636

3737
Parse.setLogLevel(Parse.LOG_LEVEL_DEBUG);
3838

39+
ParseFacebookUtils.initialize(this);
40+
3941
// Optional - If you don't want to allow Twitter login, you can
4042
// remove this line (and other related ParseTwitterUtils calls)
4143
ParseTwitterUtils.initialize(getString(R.string.twitter_consumer_key),

ParseLoginSampleCodeCustomization/AndroidManifest.xml

+11-4
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,18 @@
3131
android:label="@string/app_name"
3232
android:launchMode="singleTop">
3333
</activity>
34-
<activity
35-
android:name="com.facebook.LoginActivity"
36-
android:label="@string/app_name"
37-
android:launchMode="singleTop"/>
34+
<activity android:name="com.facebook.FacebookActivity"
35+
android:configChanges=
36+
"keyboard|keyboardHidden|screenLayout|screenSize|orientation"
37+
android:theme="@android:style/Theme.Translucent.NoTitleBar"
38+
android:label="@string/app_name" />
3839

40+
<meta-data
41+
android:name="com.parse.APPLICATION_ID"
42+
android:value="@string/parse_app_id" />
43+
<meta-data
44+
android:name="com.parse.CLIENT_KEY"
45+
android:value="@string/parse_client_key" />
3946
<meta-data
4047
android:name="com.facebook.sdk.ApplicationId"
4148
android:value="@string/facebook_app_id"/>

ParseLoginSampleCodeCustomization/build.gradle

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
apply plugin: 'android'
22

33
dependencies {
4-
compile 'com.facebook.android:facebook-android-sdk:3.23.1'
4+
// rootProject.ext.* variables are defined in project gradle file, you can also use path here.
5+
compile rootProject.ext.facebookSDK
56
compile project(':ParseLoginUI')
6-
compile 'com.android.support:support-v4:22.0.0'
7-
compile files('../ParseLoginUI/libs/Parse-1.8.4.jar')
8-
compile files('../ParseLoginUI/libs/ParseFacebookUtils-1.8.4.jar')
7+
compile rootProject.ext.androidSupport
8+
compile files(rootProject.ext.parsePath)
9+
compile files(rootProject.ext.parseFacebookUtilsPath)
910
}
1011

1112
android {

ParseLoginSampleCodeCustomization/src/com/parse/loginsample/codecustomization/SampleApplication.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,20 @@
2424
import android.app.Application;
2525

2626
import com.parse.Parse;
27+
import com.parse.ParseFacebookUtils;
2728
import com.parse.ParseTwitterUtils;
2829

2930
public class SampleApplication extends Application {
3031
@Override
3132
public void onCreate() {
3233
super.onCreate();
3334
// Required - Initialize the Parse SDK
34-
Parse.initialize(this, getString(R.string.parse_app_id),
35-
getString(R.string.parse_client_key));
35+
Parse.initialize(this);
3636

3737
Parse.setLogLevel(Parse.LOG_LEVEL_DEBUG);
3838

39+
ParseFacebookUtils.initialize(this);
40+
3941
// Optional - If you don't want to allow Twitter login, you can
4042
// remove this line (and other related ParseTwitterUtils calls)
4143
ParseTwitterUtils.initialize(getString(R.string.twitter_consumer_key),

ParseLoginSampleLayoutOverride/AndroidManifest.xml

+11-4
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,18 @@
4343
android:name="com.parse.ui.ParseLoginActivity.TWITTER_LOGIN_ENABLED"
4444
android:value="true"/>
4545
</activity>
46-
<activity
47-
android:name="com.facebook.LoginActivity"
48-
android:label="@string/app_name"
49-
android:launchMode="singleTop"/>
46+
<activity android:name="com.facebook.FacebookActivity"
47+
android:configChanges=
48+
"keyboard|keyboardHidden|screenLayout|screenSize|orientation"
49+
android:theme="@android:style/Theme.Translucent.NoTitleBar"
50+
android:label="@string/app_name" />
5051

52+
<meta-data
53+
android:name="com.parse.APPLICATION_ID"
54+
android:value="@string/parse_app_id" />
55+
<meta-data
56+
android:name="com.parse.CLIENT_KEY"
57+
android:value="@string/parse_client_key" />
5158
<meta-data
5259
android:name="com.facebook.sdk.ApplicationId"
5360
android:value="@string/facebook_app_id"/>

ParseLoginSampleLayoutOverride/build.gradle

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
apply plugin: 'android'
22

33
dependencies {
4-
compile 'com.facebook.android:facebook-android-sdk:3.23.1'
4+
// rootProject.ext.* variables are defined in project gradle file, you can also use path here.
5+
compile rootProject.ext.facebookSDK
56
compile project(':ParseLoginUI')
6-
compile 'com.android.support:support-v4:22.0.0'
7-
compile files('../ParseLoginUI/libs/Parse-1.8.4.jar')
8-
compile files('../ParseLoginUI/libs/ParseFacebookUtils-1.8.4.jar')
7+
compile rootProject.ext.androidSupport
8+
compile files(rootProject.ext.parsePath)
9+
compile files(rootProject.ext.parseFacebookUtilsPath)
910
}
1011

1112
android {

ParseLoginSampleLayoutOverride/src/com/parse/loginsample/layoutoverride/SampleApplication.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,20 @@
2424
import android.app.Application;
2525

2626
import com.parse.Parse;
27+
import com.parse.ParseFacebookUtils;
2728
import com.parse.ParseTwitterUtils;
2829

2930
public class SampleApplication extends Application {
3031
@Override
3132
public void onCreate() {
3233
super.onCreate();
3334
// Required - Initialize the Parse SDK
34-
Parse.initialize(this, getString(R.string.parse_app_id),
35-
getString(R.string.parse_client_key));
35+
Parse.initialize(this);
3636

3737
Parse.setLogLevel(Parse.LOG_LEVEL_DEBUG);
3838

39+
ParseFacebookUtils.initialize(this);
40+
3941
// Optional - If you don't want to allow Twitter login, you can
4042
// remove this line (and other related ParseTwitterUtils calls)
4143
ParseTwitterUtils.initialize(getString(R.string.twitter_consumer_key),

ParseLoginSampleWithDispatchActivity/AndroidManifest.xml

+11-4
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,18 @@
4747
android:name="com.parse.ui.ParseLoginActivity.TWITTER_LOGIN_ENABLED"
4848
android:value="true"/>
4949
</activity>
50-
<activity
51-
android:name="com.facebook.LoginActivity"
52-
android:label="@string/app_name"
53-
android:launchMode="singleTop"/>
50+
<activity android:name="com.facebook.FacebookActivity"
51+
android:configChanges=
52+
"keyboard|keyboardHidden|screenLayout|screenSize|orientation"
53+
android:theme="@android:style/Theme.Translucent.NoTitleBar"
54+
android:label="@string/app_name" />
5455

56+
<meta-data
57+
android:name="com.parse.APPLICATION_ID"
58+
android:value="@string/parse_app_id" />
59+
<meta-data
60+
android:name="com.parse.CLIENT_KEY"
61+
android:value="@string/parse_client_key" />
5562
<meta-data
5663
android:name="com.facebook.sdk.ApplicationId"
5764
android:value="@string/facebook_app_id"/>

ParseLoginSampleWithDispatchActivity/build.gradle

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
apply plugin: 'android'
22

33
dependencies {
4-
compile 'com.facebook.android:facebook-android-sdk:3.23.1'
4+
// rootProject.ext.* variables are defined in project gradle file, you can also use path here.
5+
compile rootProject.ext.facebookSDK
56
compile project(':ParseLoginUI')
6-
compile 'com.android.support:support-v4:22.0.0'
7-
compile files('../ParseLoginUI/libs/Parse-1.8.4.jar')
8-
compile files('../ParseLoginUI/libs/ParseFacebookUtils-1.8.4.jar')
7+
compile rootProject.ext.androidSupport
8+
compile files(rootProject.ext.parsePath)
9+
compile files(rootProject.ext.parseFacebookUtilsPath)
910
}
1011

1112
android {

ParseLoginSampleWithDispatchActivity/src/com/parse/loginsample/withdispatchactivity/SampleApplication.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,20 @@
2424
import android.app.Application;
2525

2626
import com.parse.Parse;
27+
import com.parse.ParseFacebookUtils;
2728
import com.parse.ParseTwitterUtils;
2829

2930
public class SampleApplication extends Application {
3031
@Override
3132
public void onCreate() {
3233
super.onCreate();
3334
// Required - Initialize the Parse SDK
34-
Parse.initialize(this, getString(R.string.parse_app_id),
35-
getString(R.string.parse_client_key));
35+
Parse.initialize(this);
3636

3737
Parse.setLogLevel(Parse.LOG_LEVEL_DEBUG);
3838

39+
ParseFacebookUtils.initialize(this);
40+
3941
// Optional - If you don't want to allow Twitter login, you can
4042
// remove this line (and other related ParseTwitterUtils calls)
4143
ParseTwitterUtils.initialize(getString(R.string.twitter_consumer_key),

ParseLoginUI/build.gradle

+6-7
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
11
apply plugin: 'android-library'
22

33
dependencies {
4-
compile 'com.parse.bolts:bolts-android:1.1.4'
4+
compile 'com.parse.bolts:bolts-android:1.2.0'
55
compile 'com.android.support:support-v4:22.0.0'
66

7-
provided 'com.facebook.android:facebook-android-sdk:3.23.1'
8-
7+
provided 'com.facebook.android:facebook-android-sdk:4.0.1'
98
// This assumes that your app's project has a compile dependency on the Parse SDK JAR files.
109
// Your project's build.gradle should say:
1110
//
12-
// compile files('YOUR_PROJECT_LIBS_PATH/Parse-1.8.4.jar')
13-
// compile files('YOUR_PROJECT_LIBS_PATH/ParseFacebookUtils-1.8.4.jar')
11+
// compile files('YOUR_PROJECT_LIBS_PATH/Parse-1.9.1.jar')
12+
// compile files('YOUR_PROJECT_LIBS_PATH/ParseFacebookUtilsV4-1.9.1.jar')
1413
//
1514
// Since the dependency below is "provided" instead of "compile", your project's build.gradle
1615
// does not have to refer to the same Parse SDK instance that's in the ParseLoginUI/libs folder.
17-
provided files('libs/Parse-1.8.4.jar')
18-
provided files('libs/ParseFacebookUtils-1.8.4.jar')
16+
provided files("$rootProject.projectDir/ParseLoginUI/libs/Parse-1.9.1.jar")
17+
provided files("$rootProject.projectDir/ParseLoginUI/libs/ParseFacebookUtilsV4-1.9.1.jar")
1918
}
2019

2120
android {
Binary file not shown.
-16.6 KB
Binary file not shown.
8.27 KB
Binary file not shown.

ParseLoginUI/src/com/parse/ui/ParseLoginActivity.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,9 @@ protected void onDestroy() {
113113
@Override
114114
public void onActivityResult(int requestCode, int resultCode, Intent data) {
115115
super.onActivityResult(requestCode, resultCode, data);
116-
116+
117117
// Required for making Facebook login work
118-
ParseFacebookUtils.finishAuthentication(requestCode, resultCode, data);
118+
ParseFacebookUtils.onActivityResult(requestCode, resultCode, data);
119119
}
120120

121121
/**

ParseLoginUI/src/com/parse/ui/ParseLoginConfig.java

+9
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,15 @@ public void setFacebookLoginPermissions(Collection<String> permissions) {
195195
}
196196
}
197197

198+
/* package */ boolean isFacebookLoginNeedPublishPermissions() {
199+
if (facebookLoginPermissions != null) {
200+
return facebookLoginPermissions.contains("publish_actions") ||
201+
facebookLoginPermissions.contains("publish_pages");
202+
} else {
203+
return false;
204+
}
205+
}
206+
198207
public boolean isTwitterLoginEnabled() {
199208
if (twitterLoginEnabled != null) {
200209
return twitterLoginEnabled;

0 commit comments

Comments
 (0)