Prechádzať zdrojové kódy

[설정][Common] 페이스북 공유 구현 콜백메서드 추가

Hasemi 7 rokov pred
rodič
commit
1495199178

+ 8 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/activity/MainActivity.java

@@ -11,6 +11,7 @@ import android.support.v7.app.AppCompatActivity;
 import android.util.Log;
 
 import com.bumptech.glide.Glide;
+import com.facebook.CallbackManager;
 
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.application.App;
@@ -192,6 +193,13 @@ public class MainActivity extends AppCompatActivity {
   public <H extends Helper> H getHelper(Class<H> helperClass) {
     return ViewModelProviders.of(this).get(helperClass);
   }
+
+  @Override
+  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+    super.onActivityResult(requestCode, resultCode, data);
+    Log.i("APP# MainActivity | onActivityResult", "|" + "들어옴==========");
+    CallbackManager.Factory.create().onActivityResult(requestCode, resultCode, data);
+  }
 }
 
 

+ 2 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/Event.java

@@ -102,6 +102,7 @@ public class Event {
   public static final int RECOMMEND = 74;
   public static final int KAKAO_TALK = 75;
   public static final int FACE_BOOK = 76;
+  public static final int CODE_COPY = 77;
 
 
   @Retention(RetentionPolicy.SOURCE)
@@ -113,7 +114,7 @@ public class Event {
     ACTION_BAR_HOME, ACTION_BAR_NOTIFICATION, ACTION_BAR_SETTING, ACTION_BAR_CLOSE, ACTION_BAR_BACK,
     ACTION_BAR_SEARCH, ACTION_BAR_MENU, ACTION_BAR_TITLE, FIRST_CATEGORY, SECOND_CATEGORY, THIRD_CATEGORY, FOURTH_CATEGORY, FIFTH_CATEGORY,
     SWITCH, BOOK_MARK_DEFAULT, BOOK_MARK_LIST, ADD, MY_COIN_MAIN, MY_PURCHASE_HISTORY, GUIDE, ADD_BUCKET, MY_MAIN_GUEST, COUPON_MALL, CATEGORY_CLICK,
-    MY_FAQ, UPDATE, FILTER, CLOSE, HELP, CONTENTS, MORE, BANNER, RECOMMEND, KAKAO_TALK, FACE_BOOK
+    MY_FAQ, UPDATE, FILTER, CLOSE, HELP, CONTENTS, MORE, BANNER, RECOMMEND, KAKAO_TALK, FACE_BOOK, CODE_COPY
   })
   public @interface ID {}
 

+ 6 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/dialog/CurrentPageShareDialog.java

@@ -65,6 +65,12 @@ public class CurrentPageShareDialog extends DialogBase {
       }
     });
 
+    getView().findViewById(R.id.image_view_url).setOnClickListener(view -> {
+      if (null != getCustomListener()) {
+        getCustomListener().onDialogResult(CurrentPageShareDialog.this, new Event.Builder(Event.CODE_COPY).build());
+      }
+    });
+
 
   }
 

+ 29 - 15
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/setting/SettingPresenter.java

@@ -9,6 +9,10 @@ import android.view.View;
 import android.widget.TextView;
 import android.widget.Toast;
 
+import com.facebook.CallbackManager;
+import com.facebook.FacebookCallback;
+import com.facebook.FacebookException;
+import com.facebook.share.Sharer;
 import com.facebook.share.model.ShareLinkContent;
 import com.facebook.share.widget.ShareDialog;
 import com.kakao.kakaolink.v2.KakaoLinkResponse;
@@ -207,7 +211,10 @@ public class SettingPresenter extends Presenter<SettingModel, ISettingView> {
                         break;
                       case Event.FACE_BOOK:
                         Log.e("APP#  SettingPresenter | onDialogResult", "|" + "facebook");
-                        setFaceBookLink();
+                        sendFaceBook();
+                        break;
+                      case Event.CODE_COPY:
+                        sendClipBoardCopy();
                         break;
                       default:
                         break;
@@ -300,28 +307,35 @@ public class SettingPresenter extends Presenter<SettingModel, ISettingView> {
     });
   }
 
-  private void setFaceBookLink() {
-    Log.e("APP#  SettingPresenter | setFaceBookLink", "|" + "들어옴");
+  private void sendFaceBook() {
 
     ShareDialog shareDialog = new ShareDialog(view.getActivity());
-//
-//      BitmapDrawable drawableImage = (BitmapDrawable) view.getActivity().getResources().getDrawable(R.drawable.banner_bg_1);
-//      Bitmap bitmap = drawableImage.getBitmap();
-//
-//      SharePhoto photo = new SharePhoto.Builder()
-//        .setBitmap(bitmap)
-//        .build();
-//
-//    ShareContent shareContent = new SharePhotoContent.Builder()
-//      .addPhoto(photo)
-//      .build();
+    shareDialog.registerCallback(CallbackManager.Factory.create(), new FacebookCallback<Sharer.Result>() {
+      @Override
+      public void onSuccess(Sharer.Result result) {
+        Log.i("APP# SettingPresenter | onSuccess", "|" + result.toString());
+        Toast.makeText(view.getActivity(), R.string.life_plus, Toast.LENGTH_LONG).show();
+      }
+
+      @Override
+      public void onCancel() {
+        Log.i("APP# SettingPresenter | onCancel", "|" + "onCancel");
+      }
+
+      @Override
+      public void onError(FacebookException error) {
+        Log.i("APP# SettingPresenter | onError", "|" + error.toString());
+      }
+    });
     ShareLinkContent linkContent = new ShareLinkContent.Builder()
       .setContentUrl(Uri.parse("https://www.lifeplus.co.kr/about/"))
       .build();
     shareDialog.show(linkContent);
 
-      shareDialog.show(linkContent);
+  }
 
+  private void sendClipBoardCopy() {
+    
   }
 
   @Override