Skip to content

Commit

Permalink
Merge pull request #138 from Cherrypickk/feature/138-userGuidePage
Browse files Browse the repository at this point in the history
[Feat] : 이용약관 관련 페이지 구현
  • Loading branch information
JunYeong0314 authored Aug 22, 2023
2 parents 4127b34 + ac47163 commit 7c53a47
Show file tree
Hide file tree
Showing 14 changed files with 466 additions and 76 deletions.
17 changes: 0 additions & 17 deletions .idea/deploymentTargetDropDown.xml

This file was deleted.

87 changes: 42 additions & 45 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,108 +4,105 @@

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" android:required="true" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="28" />

<uses-feature
android:name="android.hardware.camera"
android:required="true" />

<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="28" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

<application
android:name=".presentation.util.ApplicationClass"
android:allowBackup="true"
android:requestLegacyExternalStorage="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:enableOnBackInvokedCallback="true"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:requestLegacyExternalStorage="true"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme.Starting"
tools:targetApi="31">
<activity
android:name=".presentation.ui.mypage.PrivacyPolicy"
android:exported="true"
android:theme="@style/Theme.Cherry_pick_android" />
<activity
android:name=".presentation.ui.mypage.MarketingPolicy"
android:exported="true"
android:theme="@style/Theme.Cherry_pick_android" />
<activity
android:name=".presentation.ui.mypage.UserPolicy"
android:exported="true"
android:theme="@style/Theme.Cherry_pick_android" />

<provider
android:name="androidx.core.content.FileProvider"
android:authorities="com.example.cherry_pick_android.provider"
android:grantUriPermissions="true"
android:exported="false">
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
android:resource="@xml/provider_paths" />
</provider>

<activity
android:name=".presentation.ui.gpt.GptActivity"
android:theme="@style/Theme.Cherry_pick_android"
android:exported="true">

</activity>
android:exported="true"
android:theme="@style/Theme.Cherry_pick_android" />
<activity
android:name=".presentation.ui.home.HomeActivity"
android:theme="@style/Theme.Cherry_pick_android"
android:exported="true">


</activity>

android:exported="true"
android:theme="@style/Theme.Cherry_pick_android" />
<activity
android:name=".presentation.ui.infrom.InformSettingActivity"
android:theme="@style/Theme.Cherry_pick_android"
android:exported="true"
>

</activity>

android:theme="@style/Theme.Cherry_pick_android" />
<activity
android:name=".presentation.ui.newsSearch.NewsSearchActivity"
android:theme="@style/Theme.Cherry_pick_android"
android:exported="true">

</activity>

android:exported="true"
android:theme="@style/Theme.Cherry_pick_android" />
<activity
android:name=".presentation.ui.login.LoginActivity"
android:exported="true">

<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<activity
android:name="com.kakao.sdk.auth.AuthCodeHandlerActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />

<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />

<!-- Redirect URI: "kakao${NATIVE_APP_KEY}://oauth" -->
<data android:host="oauth"
android:scheme="kakao${KAKAO_NATIVE_KEY}"/>
<data
android:host="oauth"
android:scheme="kakao${KAKAO_NATIVE_KEY}" />
</intent-filter>
</activity>


<activity
android:name=".presentation.ui.mypage.ProfileActivity"
android:theme="@style/Theme.Cherry_pick_android"
android:exported="true"
android:windowSoftInputMode="stateVisible" >
</activity>


android:theme="@style/Theme.Cherry_pick_android"
android:windowSoftInputMode="stateVisible" />
<activity
android:name=".presentation.ui.article.ArticleActivity"
android:theme="@style/Theme.Cherry_pick_android"
android:exported="true">
</activity>

android:exported="true"
android:theme="@style/Theme.Cherry_pick_android" />
<activity
android:name=".presentation.ui.jobGroup.JobGroupActivity"
android:theme="@style/Theme.Cherry_pick_android"
android:exported="true">
</activity>

android:exported="true"
android:theme="@style/Theme.Cherry_pick_android" />
</application>

</manifest>
75 changes: 75 additions & 0 deletions app/src/main/assets/임시개인정보처리방침.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
**제 1 장 총칙**
제 1 조 (목적)
이 약관은 체리픽(가칭)(이하 "회사"라 합니다)에서 제공하는 체리픽(가칭)(이하 "서비스"라 합니다)
의 이용 조건 및 절차에 관한 기본적인 사항을 규정함을 목적으로 합니다.
제 2 조 (약관의 효력 및 변경)
① 이 약관은 서비스 화면이나 기타의 방법으로 이용고객에게 공지함으로써 효력을 발생합니다.
② 회사는 이 약관의 내용을 변경할 수 있으며, 변경된 약관은 제1항과 같은 방법으로 공지 또는
통지함으로써 효력을 발생합니다.
제 3 조 (용어의 정의)
이 약관에서 사용하는 용어의 정의는 다음과 같습니다.
① 이용자 : 회사와 서비스 이용계약을 체결한 개인 또는 단체를 말합니다.
⑤ 해지 : 회사 또는 이용자가 서비스 이용계약을 취소하는 것을 말합니다.
**제 2 장 서비스 이용계약**
제 4 조 (이용계약의 성립)
① 이용약관 동의 버튼을 누르면 이 약관에 동의하는 것으로 간주됩니다.
② 이용계약은 서비스 이용희망자의 이용약관 동의 후 이용 신청에 대하여 회사가 승낙함으로써
성립합니다.
**제 3 장 계약 당사자의 의무**
제 5 조 (회사의 의무)
가 회사는 이용자에게 각 호의 서비스를 제공합니다.
가. 직군 별 맞춤형 뉴스 제공
나. 타 키워드 등록에 따른 키워드 뉴스 제공
다. 각종 부가서비스
② 회사는 서비스 제공과 관련하여 취득한 이용자의 개인정보를 동의없이 타인에게 누설, 공개
또는 배포할 수 없으며, 서비스관련 업무 이외의 상업적 목적으로 사용할 수 없습니다. 단, 다음
각 호에 해당하는 경우는 예외입니다.
가. 전기통신기본법 등 법률의 규정에 의해 국가기관의 요구가 있는 경우
나. 범죄에 대한 수사상의 목적이 있거나 정보통신윤리 위원회의 요청이 있는 경우
다. 기타 관계법령에서 정한 절차에 따른 요청이 있는 경우
③ 회사는 이 약관에서 정한 바에 따라 지속적, 안정적으로 서비스를 제공할 의무가 있습니다.
제 6 조 (이용자의 의무)
① 이용자는 서비스 이용 시 다음 각 호의 행위를 하지 않아야 합니다.
가. 서비스에서 얻은 정보를 사이트의 사전승낙 없이 이용자의 이용 이외의 목적으로 복제하거나
이를 변경, 출판 및 방송 등에 사용하거나 타인에게 제공하는 행위
다. 회사의 저작권, 타인의 저작권 등 기타 권리를 침해하는 행위
라. 공공질서 및 미풍양속에 위반되는 내용의 정보, 문장, 도형 등을 타인에게 유포하는 행위
마. 범죄와 결부된다고 객관적으로 판단되는 행위
바. 기타 관계법령에 위배되는 행위
② 이용자는 관계법령, 이 약관에서 규정하는 사항, 서비스 이용 안내 및 주의 사항을 준수하여야
합니다.
③ 이용자는 내용별로 사이트가 서비스 공지사항에 게시하거나 별도로 공지한 이용 제한 사항을
준수하여야 합니다.
**제 4 장 서비스 제공 및 이용**
제 7 조 (서비스 제한 및 정지)
① 회사는 전시, 사변, 천재지변 또는 이에 준하는 국가비상사태가 발생하거나 발생할 우려가 있
는 경우와 전기통신사업법에 의한 기간통신 사업자가 전기통신서비스를 중지하는 등 기타 불가항
력적 사유가 있는 경우에는 서비스의 전부 또는 일부를 제한하거나 정지할 수 있습니다.
**제 5 장 계약사항의 변경, 해지**
제 8 조 (계약사항의 해지)
사용자는 서비스 이용계약을 해지할 수 있으며, 해지할 경우에는 본인이 직접 회사 공식 메일(링
크)로 해지신청을 하여야 합니다. 회사는 이용자가 다음 각 항의 1에 해당하여 이용계약을 해지하
고자 할 경우에는 해지조치 7일전까지 그 뜻을 이용고객에게 통지하여 소명할 기회를 주어야 합
니다.
① 이용고객이 이용제한 규정을 위반하거나 그 이용제한 기간 내에 제한 사유를 해소하지 않는
경우
② 정보통신윤리위원회가 이용해지를 요구한 경우
③ 이용고객이 정당한 사유 없이 의견진술에 응하지 아니한 경우
사이트는 상기 규정에 의하여 해지된 이용고객에 대해서는 별도로 정한 기간동안 가입을 제한할
수 있습니다.
**제 6 장 손해배상**
제 9 조 (면책조항)
① 회사는 이용자가 서비스 제공으로부터 기대되는 이익을 얻지 못하였거나 서비스 자료에 대한
취사선택 또는 이용으로 발생하는 손해 등에 대해서는 책임이 면제됩니다.
② 회사는 이용자의 귀책사유나 제3자의 고의로 인하여 서비스에 장애가 발생하거나 회원의 데이
터가 훼손된 경우에 책임이 면제됩니다.
③ 회사는 이용자가 게시 또는 전송한 자료의 내용에 대해서는 책임이 면제됩니다.
제 10 조 (관할법원)
서비스와 관련하여 회사와 이용자간에 분쟁이 발생할 경우 회사의 본사 소재지를 관할하는 법원
을 관할법원으로 합니다.
**제 7 장 이용자 정책**
체리픽에서 사용자가 선택한 직군에 대한 최근 뉴스를 제공합니다.
헤드라잇은 사용자가 등록한 키워드에 해당하는 최근 뉴스를 제공합니다.
**제 8 장 구독 결제 신뢰 안전 요구 사항**
체리픽은 구글 플레이스토어가 부여된 애플리케이션 최종 사용자 약관을 준수합니다.
결제 관련 신고 및 문의 사항이 있으면, (링크)로 연락을 하실 수 있습니다.
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package com.example.cherry_pick_android.presentation.ui.mypage

import android.content.Context
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.example.cherry_pick_android.databinding.ActivityMarketingPolicyBinding
import java.io.BufferedReader
import java.io.IOException
import java.io.InputStreamReader

class MarketingPolicy : AppCompatActivity() {
private lateinit var binding: ActivityMarketingPolicyBinding

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMarketingPolicyBinding.inflate(layoutInflater)
val view = binding.root
setContentView(view)

binding.tvMarketingPolicy.text = getTextString(this,"임시개인정보처리방침")
goBack()
}

private fun goBack() {
binding.ibtnBack.setOnClickListener{
finish()
}
}

private fun getTextString(context: Context, filename: String) : String{
val fString = StringBuilder()
val reader: BufferedReader

try {
reader = BufferedReader(
InputStreamReader(context.resources.assets.open("$filename.txt"))
)

var str: String?
while (reader.readLine().also {str = it} != null) {
fString.append(str)
fString.append('\n')
}
reader.close()
return fString.toString()
}
catch(e: IOException) {
e.printStackTrace()
}
return "fail"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import android.app.AlertDialog
import android.content.Intent
import androidx.fragment.app.Fragment
import android.os.Bundle
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
Expand Down Expand Up @@ -75,7 +76,6 @@ class MyPageFragment : Fragment() {
it.startActivity(intent)
}
}

// 스토어 별점 남기기 이동
ibtnMoveToScore.setOnClickListener {
// val intent = Intent(Intent.ACTION_VIEW)
Expand All @@ -84,11 +84,28 @@ class MyPageFragment : Fragment() {
}
// 이용약관 및 사용자 정책 페이지 이동
ibtnMoveToPolicy.setOnClickListener {

Log.d(TAG,"이용약관 페이지 이동")
activity?.let {
val intent = Intent(it, UserPolicy::class.java)
it.startActivity(intent)
}
}
// 마케팅수신동의 페이지 이동
tvMypageMarketingPolicy.setOnClickListener {
Log.d(TAG,"마케팅 페이지 이동")
activity?.let {
val intent = Intent(it, MarketingPolicy::class.java)
it.startActivity(intent)
}
}
// 개인정보처리방침 페이지 이동
tvMypagePrivacyPolicy.setOnClickListener {
activity?.let {
Log.d(TAG,"개인정보 페이지 이동")
val intent = Intent(it, PrivacyPolicy::class.java)
it.startActivity(intent)
}
}
// 언론사 연락처

// 개인정보처리방침
}
}

Expand Down
Loading

0 comments on commit 7c53a47

Please sign in to comment.