瀏覽代碼

Merge branch 'develop' of https://github.com/swict/LifePlusAndroid into develop

hyodong.min 7 年之前
父節點
當前提交
9e3a70bf22

+ 1 - 1
app/build.gradle

@@ -133,7 +133,7 @@ dependencies {
 //    implementation 'com.github.aakira:expandable-layout:1.6.0@aar'
     implementation 'com.github.bumptech.glide:glide:4.8.0'
     annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
-
+    implementation group: project.KAKAO_SDK_GROUP, name: 'kakaolink', version: project.KAKAO_SDK_VERSION
     /*********************************
      * UNIT TEST
      *********************************/

+ 14 - 4
app/src/main/AndroidManifest.xml

@@ -6,8 +6,9 @@
   <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
   <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
   <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
-  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
-  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
+  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
+
   <application
     android:name=".lifeplus.application.App"
     android:allowBackup="true"
@@ -37,8 +38,17 @@
       android:name=".lifeplus.activity.MainActivity"
       android:screenOrientation="portrait"
       android:windowSoftInputMode="adjustResize">
+      <intent-filter>
+        <action android:name="android.intent.action.VIEW" />
+        <category android:name="android.intent.category.DEFAULT" />
+        <category android:name="android.intent.category.BROWSABLE" />
+        <data android:scheme="@string/kakao_scheme"
+              android:host="@string/kakaolink_host" />
+      </intent-filter>
     </activity>
-    
-  </application>
 
+    <meta-data
+      android:name="com.kakao.sdk.AppKey"
+      android:value="@string/kakao_app_key"/>
+  </application>
 </manifest>

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

@@ -43,8 +43,25 @@ public class MainActivity extends AppCompatActivity {
 
     setContentView(R.layout.activity_main);
 
+
     Log.w("APP# MainActivity | onCreate", "| >>>>>>>>>>>>>> " + this.getClass().getSimpleName());
 
+    //keyHash t3rHcT2FsQfMLAqRFPFmJSxwyV8=
+//    try {
+//      PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);
+//      for (android.content.pm.Signature signature : info.signatures) {
+//        MessageDigest md = MessageDigest.getInstance("SHA");
+//        md.update(signature.toByteArray());
+//        Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
+//
+//      }
+//    } catch (PackageManager.NameNotFoundException e) {
+//      e.printStackTrace();
+//    } catch (NoSuchAlgorithmException e) {
+//      e.printStackTrace();
+//    }
+
+
     if (SuperModel.getInstance().isMember()) {
       ScreenIDMapper.getInstance().toMember().print();
     }

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

@@ -100,6 +100,7 @@ public class Event {
   public static final int MORE = 72;
   public static final int BANNER = 73;
   public static final int RECOMMEND = 74;
+  public static final int KAKAO_TALK = 75;
 
 
   @Retention(RetentionPolicy.SOURCE)
@@ -111,7 +112,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
+    MY_FAQ, UPDATE, FILTER, CLOSE, HELP, CONTENTS, MORE, BANNER, RECOMMEND, KAKAO_TALK
   })
   public @interface ID {}
 

+ 8 - 7
app/src/main/java/kr/co/zumo/app/lifeplus/view/dialog/CurrentPageShareDialog.java

@@ -7,9 +7,9 @@ import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.Window;
-import android.widget.ImageView;
 
 import kr.co.zumo.app.R;
+import kr.co.zumo.app.lifeplus.view.Event;
 
 /**
  * CurrentPageShareDialog
@@ -23,10 +23,6 @@ import kr.co.zumo.app.R;
  */
 public class CurrentPageShareDialog extends DialogBase {
 
-
-  private ImageView imageViewCancel;
-
-
   @Nullable
   @Override
   public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
@@ -40,13 +36,18 @@ public class CurrentPageShareDialog extends DialogBase {
     Window window = getDialog().getWindow();
     window.setBackgroundDrawableResource(R.color.C99000000);
 
-    imageViewCancel = getView().findViewById(R.id.image_view_cancel);
-    imageViewCancel.setOnClickListener(view -> {
+    getView().findViewById(R.id.image_view_cancel).setOnClickListener(view -> {
       if (null != getCustomListener()) {
         getCustomListener().onDialogCanceled(CurrentPageShareDialog.this);
       }
     });
 
+    getView().findViewById(R.id.image_view_kakao).setOnClickListener(view -> {
+      if(null != getCustomListener()){
+        getCustomListener().onDialogResult(CurrentPageShareDialog.this, new Event.Builder(Event.KAKAO_TALK).build());
+      }
+    });
+
 
   }
 

+ 4 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/setting/SettingFragment.java

@@ -13,6 +13,10 @@ import android.view.View;
 import android.view.ViewGroup;
 import android.widget.TextView;
 
+import com.kakao.kakaolink.KakaoLink;
+import com.kakao.kakaolink.KakaoTalkLinkMessageBuilder;
+import com.kakao.util.KakaoParameterException;
+
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.bean.SettingHolderBean;
 import kr.co.zumo.app.lifeplus.manager.ActionBarManager;

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

@@ -8,6 +8,10 @@ import android.view.View;
 import android.widget.TextView;
 import android.widget.Toast;
 
+import com.kakao.kakaolink.KakaoLink;
+import com.kakao.kakaolink.KakaoTalkLinkMessageBuilder;
+import com.kakao.util.KakaoParameterException;
+
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.application.App;
 import kr.co.zumo.app.lifeplus.bean.api.SettingBean;
@@ -176,10 +180,22 @@ public class SettingPresenter extends Presenter<SettingModel, ISettingView> {
                       case Event.CONFIRM:
                         dialog.dispose();
                         break;
+                      case Event.KAKAO_TALK:
+                        //카카오링크
+                        try {
+                          KakaoLink kakaoLink = KakaoLink.getKakaoLink(view.getActivity());
+                          KakaoTalkLinkMessageBuilder messageBuilder = kakaoLink.createKakaoTalkLinkMessageBuilder();
+                          messageBuilder.addText("카카오톡으로 공유해요.");
+                          kakaoLink.sendMessage(messageBuilder,view.getActivity());
+                        } catch (KakaoParameterException e) {
+                          e.printStackTrace();
+                        }
+                        break;
                       default:
                         break;
                     }
-                  }
+
+                }
 
                   @Override
                   public void onDialogCanceled(CurrentPageShareDialog dialog) {

+ 7 - 0
app/src/main/res/values/strings.xml

@@ -9,6 +9,13 @@
   <string name="lifeplus_font_serif" translatable="false">serif</string>
   <string name="lifeplus_font_sans_serif" translatable="false">sans-serif</string>
 
+  <!--kakaotalk 링크 공유-->
+  <string name="kakao_app_key">95448ff031e92087b5dbc44d56cff7bb</string>
+  <string name="kakao_scheme">kakao95448ff031e92087b5dbc44d56cff7bb</string>
+  <string name="kakaolink_host">kakaolink</string>
+
+
+
   <string name="empty_string" translatable="false"/>
   <string name="confirm">확인</string>
   <string name="cancel">취소</string>

+ 3 - 0
build.gradle

@@ -5,6 +5,7 @@ buildscript {
     repositories {
         google()
         jcenter()
+        mavenCentral()
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:3.2.1'
@@ -19,6 +20,8 @@ allprojects {
     repositories {
         google()
         jcenter()
+        mavenCentral()
+        maven { url 'http://devrepo.kakao.com:8088/nexus/content/groups/public/' }
     }
 }
 

+ 2 - 0
gradle.properties

@@ -7,6 +7,8 @@
 # Specifies the JVM arguments used for the daemon process.
 # The setting is particularly useful for tweaking memory settings.
 org.gradle.jvmargs=-Xmx1536m
+KAKAO_SDK_GROUP=com.kakao.sdk
+KAKAO_SDK_VERSION=1.5.1
 # When configured, Gradle will run in incubating parallel mode.
 # This option should only be used with decoupled projects. More details, visit
 # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects