mirror of
https://github.com/nerzhul/ownCloud-SMS-App.git
synced 2025-06-09 08:56:10 +00:00
Add privacy policy inside application and repository
This should permit to prevent Google play removal due to this missing information.
This commit is contained in:
parent
d88836e7d2
commit
77ab787db7
20
PRIVACY_POLICY.md
Normal file
20
PRIVACY_POLICY.md
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# Overview
|
||||||
|
|
||||||
|
Nextcloud SMS is a free software developed by its contributors. This privacy policy
|
||||||
|
is intended to inform you about data gathered by this application."
|
||||||
|
|
||||||
|
Information we collect
|
||||||
|
|
||||||
|
Only SMS and call log are collected by the application.
|
||||||
|
|
||||||
|
Where information is sent.
|
||||||
|
|
||||||
|
Information is neither sent to Nextcloud team servers nor Nextcloud SMS team servers nor
|
||||||
|
any government nor another entity you don't want.
|
||||||
|
|
||||||
|
When you configure a Nextcloud account in the application, you agree with the Nextcloud
|
||||||
|
instance owner that your SMS and call log data will be stored in his infrastructure
|
||||||
|
under his responsibility.
|
||||||
|
|
||||||
|
We don't recommend to use a public or a company Nextcloud instance account. Your privacy
|
||||||
|
must be under your control on your own Nextcloud instance.
|
@ -1,43 +1,43 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest package="fr.unix_experience.owncloud_sms"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
<!-- From Android 4.1 to O -->
|
package="fr.unix_experience.owncloud_sms"> <!-- From Android 4.1 to O -->
|
||||||
<uses-sdk android:maxSdkVersion="26"/>
|
<uses-sdk android:maxSdkVersion="26" />
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.READ_SMS"/>
|
<uses-permission android:name="android.permission.READ_SMS" />
|
||||||
<uses-permission android:name="android.permission.WRITE_SMS" />
|
<uses-permission android:name="android.permission.WRITE_SMS" />
|
||||||
|
|
||||||
<!-- For SMS Restore & Sending -->
|
<!-- For SMS Restore & Sending -->
|
||||||
<uses-permission android:name="android.permission.SEND_SMS"/>
|
<uses-permission android:name="android.permission.SEND_SMS" />
|
||||||
|
|
||||||
<!-- For SMS Broadcaster -->
|
<!-- For SMS Broadcaster -->
|
||||||
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
|
<uses-permission android:name="android.permission.RECEIVE_SMS" />
|
||||||
<uses-permission android:name="android.permission.INTERNET"/>
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||||
|
|
||||||
<!-- For syncer -->
|
<!-- For syncer -->
|
||||||
<uses-permission android:name="android.permission.READ_SYNC_STATS"/>
|
<uses-permission android:name="android.permission.READ_SYNC_STATS" />
|
||||||
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
|
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
|
||||||
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/>
|
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
|
||||||
<uses-permission android:name="android.permission.WAKE_LOCK"/>
|
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||||
|
|
||||||
<!-- For account management -->
|
<!-- For account management -->
|
||||||
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
|
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
|
||||||
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"/>
|
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
|
||||||
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
|
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
|
||||||
<uses-permission android:name="android.permission.USE_CREDENTIALS"/>
|
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
|
||||||
|
|
||||||
<!-- For backup restauration -->
|
<!-- For backup restauration -->
|
||||||
<uses-permission android:name="android.permission.READ_CONTACTS"/>
|
<uses-permission android:name="android.permission.READ_CONTACTS" />
|
||||||
<uses-permission android:name="android.permission.VIBRATE"/>
|
<uses-permission android:name="android.permission.VIBRATE" />
|
||||||
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
|
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
android:icon="@mipmap/ic_launcher"
|
android:icon="@mipmap/ic_launcher"
|
||||||
android:roundIcon="@mipmap/ic_launcher_round"
|
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
|
android:roundIcon="@mipmap/ic_launcher_round"
|
||||||
android:theme="@style/OcSmsTheme">
|
android:theme="@style/OcSmsTheme">
|
||||||
|
|
||||||
<!-- Related to periodic sync -->
|
<!-- Related to periodic sync -->
|
||||||
@ -46,55 +46,59 @@
|
|||||||
android:exported="true"
|
android:exported="true"
|
||||||
android:process=":sync">
|
android:process=":sync">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.content.SyncAdapter"/>
|
<action android:name="android.content.SyncAdapter" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="android.content.SyncAdapter"
|
android:name="android.content.SyncAdapter"
|
||||||
android:resource="@xml/sync_adapter"/>
|
android:resource="@xml/sync_adapter" />
|
||||||
</service>
|
</service>
|
||||||
|
|
||||||
<provider
|
<provider
|
||||||
android:name=".providers.SmsDataProvider"
|
android:name=".providers.SmsDataProvider"
|
||||||
android:authorities="@string/account_authority"
|
android:authorities="@string/account_authority"
|
||||||
android:label="@string/pref_title_sync">
|
android:label="@string/pref_title_sync"></provider>
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- Related to Login -->
|
<!-- Related to Login -->
|
||||||
<service android:name=".authenticators.OwnCloudAuthenticatorService">
|
<service android:name=".authenticators.OwnCloudAuthenticatorService">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.accounts.AccountAuthenticator"/>
|
<action android:name="android.accounts.AccountAuthenticator" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="android.accounts.AccountAuthenticator"
|
android:name="android.accounts.AccountAuthenticator"
|
||||||
android:resource="@xml/owncloud_account_authenticator"/>
|
android:resource="@xml/owncloud_account_authenticator" />
|
||||||
</service>
|
</service>
|
||||||
|
|
||||||
<receiver android:name=".broadcast_receivers.IncomingSms"
|
<receiver
|
||||||
|
android:name=".broadcast_receivers.IncomingSms"
|
||||||
android:permission="android.permission.BROADCAST_SMS">
|
android:permission="android.permission.BROADCAST_SMS">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
|
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
|
||||||
<action android:name="android.provider.Telephony.SMS_DELIVER" />
|
<action android:name="android.provider.Telephony.SMS_DELIVER" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</receiver>
|
</receiver>
|
||||||
|
|
||||||
<!-- BroadcastReceiver that listens for incoming MMS messages. Note: useless class, used only for restoring SMS -->
|
<!-- BroadcastReceiver that listens for incoming MMS messages. Note: useless class, used only for restoring SMS -->
|
||||||
<receiver android:name=".misc.MmsReceiver"
|
<receiver
|
||||||
|
android:name=".misc.MmsReceiver"
|
||||||
android:permission="android.permission.BROADCAST_WAP_PUSH">
|
android:permission="android.permission.BROADCAST_WAP_PUSH">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.provider.Telephony.WAP_PUSH_DELIVER" />
|
<action android:name="android.provider.Telephony.WAP_PUSH_DELIVER" />
|
||||||
|
|
||||||
<data android:mimeType="application/vnd.wap.mms-message" />
|
<data android:mimeType="application/vnd.wap.mms-message" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</receiver>
|
</receiver>
|
||||||
|
|
||||||
<!-- Activity that allows the user to send new SMS/MMS messages Note: useless class, used only for restoring SMS -->
|
<!-- Activity that allows the user to send new SMS/MMS messages Note: useless class, used only for restoring SMS -->
|
||||||
<activity android:name=".misc.ComposeSmsActivity" >
|
<activity android:name=".misc.ComposeSmsActivity">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.SEND" />
|
<action android:name="android.intent.action.SEND" />
|
||||||
<action android:name="android.intent.action.SENDTO" />
|
<action android:name="android.intent.action.SENDTO" />
|
||||||
|
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
<category android:name="android.intent.category.BROWSABLE" />
|
<category android:name="android.intent.category.BROWSABLE" />
|
||||||
|
|
||||||
<data android:scheme="sms" />
|
<data android:scheme="sms" />
|
||||||
<data android:scheme="smsto" />
|
<data android:scheme="smsto" />
|
||||||
<data android:scheme="mms" />
|
<data android:scheme="mms" />
|
||||||
@ -103,12 +107,15 @@
|
|||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<!-- Service that delivers messages from the phone "quick response" Note: useless class, used only for restoring SMS -->
|
<!-- Service that delivers messages from the phone "quick response" Note: useless class, used only for restoring SMS -->
|
||||||
<service android:name=".misc.HeadlessSmsSendService"
|
<service
|
||||||
android:permission="android.permission.SEND_RESPOND_VIA_MESSAGE"
|
android:name=".misc.HeadlessSmsSendService"
|
||||||
android:exported="true" >
|
android:exported="true"
|
||||||
|
android:permission="android.permission.SEND_RESPOND_VIA_MESSAGE">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.RESPOND_VIA_MESSAGE" />
|
<action android:name="android.intent.action.RESPOND_VIA_MESSAGE" />
|
||||||
|
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
|
|
||||||
<data android:scheme="sms" />
|
<data android:scheme="sms" />
|
||||||
<data android:scheme="smsto" />
|
<data android:scheme="smsto" />
|
||||||
<data android:scheme="mms" />
|
<data android:scheme="mms" />
|
||||||
@ -118,45 +125,43 @@
|
|||||||
|
|
||||||
<receiver android:name=".broadcast_receivers.ConnectivityChanged">
|
<receiver android:name=".broadcast_receivers.ConnectivityChanged">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
|
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</receiver>
|
</receiver>
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".activities.LoginActivity"
|
android:name=".activities.LoginActivity"
|
||||||
android:label="@string/title_activity_login"
|
android:label="@string/title_activity_login"
|
||||||
android:theme="@style/OcSmsTheme.Login">
|
android:theme="@style/OcSmsTheme.Login"></activity>
|
||||||
</activity>
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".activities.remote_account.AccountListActivity"
|
android:name=".activities.remote_account.AccountListActivity"
|
||||||
android:label="@string/title_activity_select_account">
|
android:label="@string/title_activity_select_account"></activity>
|
||||||
</activity>
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".activities.OCSMSSettingsActivity"
|
android:name=".activities.OCSMSSettingsActivity"
|
||||||
android:label="@string/title_activity_general_settings">
|
android:label="@string/title_activity_general_settings"></activity>
|
||||||
</activity>
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".activities.MainActivity"
|
android:name=".activities.MainActivity"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:theme="@style/OcSmsTheme.Drawer">
|
android:theme="@style/OcSmsTheme.Drawer">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN"/>
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
|
||||||
<category android:name="android.intent.category.LAUNCHER"/>
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<activity
|
<activity
|
||||||
android:name=".activities.remote_account.ContactListActivity"
|
android:name=".activities.remote_account.ContactListActivity"
|
||||||
android:label="@string/title_activity_select_contact">
|
android:label="@string/title_activity_select_contact"></activity>
|
||||||
</activity>
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".activities.remote_account.AccountActionsActivity"
|
android:name=".activities.remote_account.AccountActionsActivity"
|
||||||
android:label="@string/account_actions">
|
android:label="@string/account_actions"></activity>
|
||||||
</activity>
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".activities.remote_account.RestoreMessagesActivity"
|
android:name=".activities.remote_account.RestoreMessagesActivity"
|
||||||
android:label="@string/restore_all_messages">
|
android:label="@string/restore_all_messages"></activity>
|
||||||
</activity>
|
<activity
|
||||||
|
android:name=".activities.PrivacyPolicyActivity"
|
||||||
|
android:label="@string/action_appinfo_privacy_policy"
|
||||||
|
android:theme="@style/OcSmsTheme.NoActionBar"></activity>
|
||||||
</application>
|
</application>
|
||||||
|
|
||||||
</manifest>
|
</manifest>
|
@ -73,8 +73,10 @@ public class MainActivity extends AppCompatActivity
|
|||||||
setContentView(R.layout.activity_main);
|
setContentView(R.layout.activity_main);
|
||||||
|
|
||||||
setupToolbar();
|
setupToolbar();
|
||||||
|
if (getSupportActionBar() != null) {
|
||||||
getSupportActionBar().setHomeButtonEnabled(true);
|
getSupportActionBar().setHomeButtonEnabled(true);
|
||||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
|
}
|
||||||
|
|
||||||
drawer = findViewById(R.id.drawer_layout);
|
drawer = findViewById(R.id.drawer_layout);
|
||||||
setupDrawer();
|
setupDrawer();
|
||||||
@ -153,7 +155,7 @@ public class MainActivity extends AppCompatActivity
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onNavigationItemSelected(MenuItem item) {
|
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
|
||||||
int id = item.getItemId();
|
int id = item.getItemId();
|
||||||
boolean res = true;
|
boolean res = true;
|
||||||
|
|
||||||
@ -176,6 +178,11 @@ public class MainActivity extends AppCompatActivity
|
|||||||
case R.id.nav_appinfo_perms:
|
case R.id.nav_appinfo_perms:
|
||||||
res = openAppInfos();
|
res = openAppInfos();
|
||||||
break;
|
break;
|
||||||
|
case R.id.nav_appinfo_privacy_policy:
|
||||||
|
res = openPrivacyPolicy();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Log.e(TAG, "Unhandled navigation item " + Integer.toString(id));
|
||||||
}
|
}
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
return res;
|
return res;
|
||||||
@ -218,7 +225,7 @@ public class MainActivity extends AppCompatActivity
|
|||||||
Intent intent;
|
Intent intent;
|
||||||
try {
|
try {
|
||||||
intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + getPackageName()));
|
intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + getPackageName()));
|
||||||
} catch (android.content.ActivityNotFoundException anfe) {
|
} catch (android.content.ActivityNotFoundException e) {
|
||||||
intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + getPackageName()));
|
intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + getPackageName()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -235,6 +242,11 @@ public class MainActivity extends AppCompatActivity
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean openPrivacyPolicy() {
|
||||||
|
startActivity(new Intent(this, PrivacyPolicyActivity.class));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Permissions
|
* Permissions
|
||||||
*/
|
*/
|
||||||
|
@ -0,0 +1,21 @@
|
|||||||
|
package fr.unix_experience.owncloud_sms.activities;
|
||||||
|
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.support.design.widget.FloatingActionButton;
|
||||||
|
import android.support.design.widget.Snackbar;
|
||||||
|
import android.support.v7.app.AppCompatActivity;
|
||||||
|
import android.support.v7.widget.Toolbar;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
|
import fr.unix_experience.owncloud_sms.R;
|
||||||
|
|
||||||
|
public class PrivacyPolicyActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_privacy_policy);
|
||||||
|
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
|
||||||
|
setSupportActionBar(toolbar);
|
||||||
|
}
|
||||||
|
}
|
38
src/main/res/layout/activity_privacy_policy.xml
Normal file
38
src/main/res/layout/activity_privacy_policy.xml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:fitsSystemWindows="true"
|
||||||
|
tools:context=".activities.PrivacyPolicyActivity">
|
||||||
|
|
||||||
|
<android.support.design.widget.AppBarLayout
|
||||||
|
android:id="@+id/app_bar"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="@dimen/app_bar_height"
|
||||||
|
android:fitsSystemWindows="true"
|
||||||
|
android:theme="@style/OcSmsTheme.AppBarOverlay">
|
||||||
|
|
||||||
|
<android.support.design.widget.CollapsingToolbarLayout
|
||||||
|
android:id="@+id/toolbar_layout"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:fitsSystemWindows="true"
|
||||||
|
app:contentScrim="?attr/colorPrimary"
|
||||||
|
app:layout_scrollFlags="scroll|exitUntilCollapsed"
|
||||||
|
app:toolbarId="@+id/toolbar">
|
||||||
|
|
||||||
|
<android.support.v7.widget.Toolbar
|
||||||
|
android:id="@+id/toolbar"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="?attr/actionBarSize"
|
||||||
|
app:layout_collapseMode="pin"
|
||||||
|
app:popupTheme="@style/OcSmsTheme.PopupOverlay" />
|
||||||
|
|
||||||
|
</android.support.design.widget.CollapsingToolbarLayout>
|
||||||
|
</android.support.design.widget.AppBarLayout>
|
||||||
|
|
||||||
|
<include layout="@layout/content_privacy_policy" />
|
||||||
|
|
||||||
|
</android.support.design.widget.CoordinatorLayout>
|
17
src/main/res/layout/content_privacy_policy.xml
Normal file
17
src/main/res/layout/content_privacy_policy.xml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
app:layout_behavior="@string/appbar_scrolling_view_behavior"
|
||||||
|
tools:context=".activities.PrivacyPolicyActivity"
|
||||||
|
tools:showIn="@layout/activity_privacy_policy">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_margin="@dimen/text_margin"
|
||||||
|
android:text="@string/privacy_policy_large_text" />
|
||||||
|
|
||||||
|
</android.support.v4.widget.NestedScrollView>
|
@ -22,6 +22,10 @@
|
|||||||
android:id="@+id/nav_appinfo_perms"
|
android:id="@+id/nav_appinfo_perms"
|
||||||
android:icon="@drawable/ic_information"
|
android:icon="@drawable/ic_information"
|
||||||
android:title="@string/action_appinfo_perms"/>
|
android:title="@string/action_appinfo_perms"/>
|
||||||
|
<item
|
||||||
|
android:id="@+id/nav_appinfo_privacy_policy"
|
||||||
|
android:icon="@drawable/ic_information"
|
||||||
|
android:title="@string/action_appinfo_privacy_policy"/>
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
<item android:title="@string/communicate">
|
<item android:title="@string/communicate">
|
||||||
|
10
src/main/res/menu/menu_privacy_policy.xml
Normal file
10
src/main/res/menu/menu_privacy_policy.xml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
tools:context="fr.unix_experience.owncloud_sms.activities.PrivacyPolicyActivity">
|
||||||
|
<item
|
||||||
|
android:id="@+id/action_settings"
|
||||||
|
android:orderInCategory="100"
|
||||||
|
android:title="@string/action_settings"
|
||||||
|
app:showAsAction="never" />
|
||||||
|
</menu>
|
@ -185,4 +185,5 @@
|
|||||||
<string name="sync_complete">Synchronisation complete</string>
|
<string name="sync_complete">Synchronisation complete</string>
|
||||||
<string name="err_sync_http_write_failed">Error #19: Failed to write HTTP stream when pushing data to server.</string>
|
<string name="err_sync_http_write_failed">Error #19: Failed to write HTTP stream when pushing data to server.</string>
|
||||||
<string name="err_sync_http_request_protocol_exception">Error #20: Failed to properly set HTTP protocol version.</string>
|
<string name="err_sync_http_request_protocol_exception">Error #20: Failed to properly set HTTP protocol version.</string>
|
||||||
|
<string name="action_appinfo_privacy_policy">Privacy policy</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
4
src/main/res/values-en/strings.xml
Normal file
4
src/main/res/values-en/strings.xml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<string name="action_appinfo_privacy_policy">Privacy policy</string>
|
||||||
|
</resources>
|
@ -185,4 +185,5 @@
|
|||||||
<string name="sync_complete">Sincronización completa</string>
|
<string name="sync_complete">Sincronización completa</string>
|
||||||
<string name="err_sync_http_write_failed">Error #19: Falla al escribir al flujo HTTP al enviar datos al servidor. </string>
|
<string name="err_sync_http_write_failed">Error #19: Falla al escribir al flujo HTTP al enviar datos al servidor. </string>
|
||||||
<string name="err_sync_http_request_protocol_exception">Error #20: Falla al establecer correctamente la versión del protocolo HTTP.</string>
|
<string name="err_sync_http_request_protocol_exception">Error #20: Falla al establecer correctamente la versión del protocolo HTTP.</string>
|
||||||
|
<string name="action_appinfo_privacy_policy">Privacy policy</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -185,4 +185,29 @@
|
|||||||
<string name="sync_complete">Synchronisation terminée</string>
|
<string name="sync_complete">Synchronisation terminée</string>
|
||||||
<string name="err_sync_http_write_failed">Erreur #19: Echec de l\'écriture du flux HTTP lors de l\'envoi de données au serveur.</string>
|
<string name="err_sync_http_write_failed">Erreur #19: Echec de l\'écriture du flux HTTP lors de l\'envoi de données au serveur.</string>
|
||||||
<string name="err_sync_http_request_protocol_exception">Erreur #20: Impossible de définir correctement la version du protocole HTTP.</string>
|
<string name="err_sync_http_request_protocol_exception">Erreur #20: Impossible de définir correctement la version du protocole HTTP.</string>
|
||||||
|
<string name="action_appinfo_privacy_policy">Politique de confidentialité</string>
|
||||||
|
<string name="privacy_policy_large_text">
|
||||||
|
"Généralités\n\n"
|
||||||
|
|
||||||
|
"Nextcloud SMS est un logiciel libre développé par ses contributeurs. Cette politque de "
|
||||||
|
"confidentialité vous informe du traîtement appliqué aux données collectées par cette "
|
||||||
|
"application.\n\n"
|
||||||
|
|
||||||
|
"Les informations que nous récupérons\n\n"
|
||||||
|
|
||||||
|
"Nous récupérons uniquement les SMS et le journal d'appel.\n\n"
|
||||||
|
|
||||||
|
"Où sont envoyées mes données.\n\n"
|
||||||
|
|
||||||
|
"Les données ne sont ni envoyées à l'équipe en charge de Nextcloud, ni à l'équipe en "
|
||||||
|
"charge de Nextcloud SMS ni à aucun gouvernement ou aucune entité auquel vous ne souhaitez "
|
||||||
|
"pas les donner.\n\n"
|
||||||
|
|
||||||
|
"Lorsque vous configurez un compte Nextcloud sur l'application, vous acceptez "
|
||||||
|
"implicitement que vos SMS et votre journal d'appel soit stocké sur l'infrastructure du "
|
||||||
|
"propriétaire de l'instance Nextcloud et sous sa responsabilité.\n\n"
|
||||||
|
|
||||||
|
"Nous ne vous recommandons pas d'utiliser un compte sur instance publique ou d'entreprise. "
|
||||||
|
"Votre vie privée doit être sous votre contrôle sur votre propre instance Nextcloud.\n\n"
|
||||||
|
</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -9,5 +9,7 @@
|
|||||||
<dimen name="standard_half_padding">8dp</dimen>
|
<dimen name="standard_half_padding">8dp</dimen>
|
||||||
<dimen name="nav_header_height">140dp</dimen>
|
<dimen name="nav_header_height">140dp</dimen>
|
||||||
<dimen name="fab_margin">16dp</dimen>
|
<dimen name="fab_margin">16dp</dimen>
|
||||||
|
<dimen name="app_bar_height">180dp</dimen>
|
||||||
|
<dimen name="text_margin">16dp</dimen>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?><!--
|
||||||
<!--
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2014-2015, Loic Blot <loic.blot@unix-experience.fr>
|
* Copyright (c) 2014-2015, Loic Blot <loic.blot@unix-experience.fr>
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
@ -25,9 +24,7 @@
|
|||||||
* SUCH DAMAGE.
|
* SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
-->
|
-->
|
||||||
<resources
|
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
tools:ignore="MissingTranslation">
|
|
||||||
|
|
||||||
<!-- Translation version, reference for translators -->
|
<!-- Translation version, reference for translators -->
|
||||||
<string name="translation_version">7</string>
|
<string name="translation_version">7</string>
|
||||||
@ -274,4 +271,28 @@
|
|||||||
<string name="sync_complete">Synchronization complete</string>
|
<string name="sync_complete">Synchronization complete</string>
|
||||||
<string name="err_sync_http_write_failed">Error #19: Failed to write HTTP stream when pushing data to server.</string>
|
<string name="err_sync_http_write_failed">Error #19: Failed to write HTTP stream when pushing data to server.</string>
|
||||||
<string name="err_sync_http_request_protocol_exception">Error #20: Failed to properly set HTTP protocol version.</string>
|
<string name="err_sync_http_request_protocol_exception">Error #20: Failed to properly set HTTP protocol version.</string>
|
||||||
|
<string name="action_appinfo_privacy_policy">Privacy policy</string>
|
||||||
|
<string name="privacy_policy_large_text">
|
||||||
|
"Overview\n\n"
|
||||||
|
|
||||||
|
"Nextcloud SMS is a free software developed by its contributors. This privacy policy "
|
||||||
|
"is intended to inform you about data gathered by this application."
|
||||||
|
|
||||||
|
"Information we collect\n\n"
|
||||||
|
|
||||||
|
"Only SMS and call log are collected by the application.\n\n"
|
||||||
|
|
||||||
|
"Where information is sent.\n\n"
|
||||||
|
|
||||||
|
"Information is neither sent to Nextcloud team servers nor Nextcloud SMS team servers nor "
|
||||||
|
"any government nor another entity you don't want.\n\n"
|
||||||
|
|
||||||
|
"When you configure a Nextcloud account in the application, you agree with the Nextcloud "
|
||||||
|
"instance owner that your SMS and call log data will be stored in his infrastructure "
|
||||||
|
"under his responsibility.\n\n"
|
||||||
|
|
||||||
|
"We don't recommend to use a public or a company Nextcloud instance account. Your privacy "
|
||||||
|
"must be under your control on your own Nextcloud instance.\n\n"
|
||||||
|
|
||||||
|
</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -81,8 +81,8 @@
|
|||||||
<item name="windowNoTitle">true</item>
|
<item name="windowNoTitle">true</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="OcSmsTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/>
|
<style name="OcSmsTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
|
||||||
|
|
||||||
<style name="OcSmsTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/>
|
<style name="OcSmsTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user