Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feat] : 이용약관 관련 페이지 구현 #138

Merged
merged 1 commit into from
Aug 22, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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