mirror of
				https://github.com/nerzhul/ownCloud-SMS-App.git
				synced 2025-10-28 00:49:00 +00:00 
			
		
		
		
	Change a little bit account menu to show actions to do on an account & do some code cleanups
This commit is contained in:
		
							parent
							
								
									c27a57eda4
								
							
						
					
					
						commit
						6203b8b989
					
				| @ -3,7 +3,7 @@ buildscript { | |||||||
|         mavenCentral() |         mavenCentral() | ||||||
|     } |     } | ||||||
|     dependencies { |     dependencies { | ||||||
|         classpath 'com.android.tools.build:gradle:2.1.0' |         classpath 'com.android.tools.build:gradle:2.1.2' | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -105,6 +105,14 @@ | |||||||
|             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 | ||||||
|  |             android:name=".activities.remote_account.AccountActionsActivity" | ||||||
|  |             android:label="@string/account_actions"> | ||||||
|  |         </activity> | ||||||
|  |         <activity | ||||||
|  |             android:name=".activities.remote_account.RestoreMessagesActivity" | ||||||
|  |             android:label="@string/restore_all_messages"> | ||||||
|  |         </activity> | ||||||
|     </application> |     </application> | ||||||
| 
 | 
 | ||||||
| </manifest> | </manifest> | ||||||
| @ -0,0 +1,49 @@ | |||||||
|  | package fr.unix_experience.owncloud_sms.activities.remote_account; | ||||||
|  | 
 | ||||||
|  | import android.content.Intent; | ||||||
|  | import android.os.Bundle; | ||||||
|  | import android.view.View; | ||||||
|  | import android.widget.ArrayAdapter; | ||||||
|  | import android.widget.ListView; | ||||||
|  | 
 | ||||||
|  | import java.util.ArrayList; | ||||||
|  | 
 | ||||||
|  | import fr.unix_experience.android_lib.AppCompatListActivity; | ||||||
|  | import fr.unix_experience.owncloud_sms.R; | ||||||
|  | 
 | ||||||
|  | public class AccountActionsActivity extends AppCompatListActivity { | ||||||
|  |     @Override | ||||||
|  |     protected void onCreate(Bundle savedInstanceState) { | ||||||
|  |         super.onCreate(savedInstanceState); | ||||||
|  | 
 | ||||||
|  |         setContentView(R.layout.activity_account_actions); | ||||||
|  | 
 | ||||||
|  |         ArrayList<String> itemList = new ArrayList<>(); | ||||||
|  |         ArrayAdapter<String> adp = new ArrayAdapter<>(getBaseContext(), | ||||||
|  |                 android.R.layout.simple_dropdown_item_1line, itemList); | ||||||
|  |         setListAdapter(adp); | ||||||
|  | 
 | ||||||
|  |         // Create item list | ||||||
|  |         itemList.add(getBaseContext().getString(R.string.restore_all_messages)); | ||||||
|  | 
 | ||||||
|  |         adp.notifyDataSetChanged(); | ||||||
|  | 
 | ||||||
|  |         // Fetch account name from intent | ||||||
|  |         _accountName = getIntent().getStringExtra("account"); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     protected void onListItemClick(ListView l, View v, int position, long id) { | ||||||
|  |         switch (position) { | ||||||
|  |             case 0: | ||||||
|  |                 Intent intent = new Intent(this, RestoreMessagesActivity.class); | ||||||
|  |                 intent.putExtra("account", _accountName); | ||||||
|  |                 startActivity(intent); | ||||||
|  |                 break; | ||||||
|  |             default: break; // Unhandled | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private String _accountName = ""; | ||||||
|  |     private static final String TAG = AccountActionsActivity.class.getSimpleName(); | ||||||
|  | } | ||||||
| @ -12,8 +12,7 @@ import fr.unix_experience.android_lib.AppCompatListActivity; | |||||||
| import fr.unix_experience.owncloud_sms.R; | import fr.unix_experience.owncloud_sms.R; | ||||||
| 
 | 
 | ||||||
| public class AccountListActivity extends AppCompatListActivity { | public class AccountListActivity extends AppCompatListActivity { | ||||||
| 	ArrayList<Account> listItems = new ArrayList<>(); | 
 | ||||||
| 	AndroidAccountAdapter adapter; |  | ||||||
| 	@Override | 	@Override | ||||||
| 	public void onCreate(Bundle icicle) { | 	public void onCreate(Bundle icicle) { | ||||||
| 		super.onCreate(icicle); | 		super.onCreate(icicle); | ||||||
| @ -22,16 +21,18 @@ public class AccountListActivity extends AppCompatListActivity { | |||||||
| 
 | 
 | ||||||
| 		setContentView(R.layout.restore_activity_accountlist); | 		setContentView(R.layout.restore_activity_accountlist); | ||||||
| 
 | 
 | ||||||
| 		adapter = new AndroidAccountAdapter(this, |         ArrayList<Account> itemList = new ArrayList<>(); | ||||||
|  | 
 | ||||||
|  |         AndroidAccountAdapter adapter = new AndroidAccountAdapter(this, | ||||||
| 				android.R.layout.simple_list_item_1, | 				android.R.layout.simple_list_item_1, | ||||||
| 				listItems, |                 itemList, | ||||||
| 				R.layout.account_list_item, | 				R.layout.account_list_item, | ||||||
| 				R.id.accountname, ContactListActivity.class); | 				R.id.accountname, AccountActionsActivity.class); | ||||||
| 		setListAdapter(adapter); | 		setListAdapter(adapter); | ||||||
| 
 | 
 | ||||||
| 		Account[] accountList = | 		Account[] accountList = | ||||||
| 				_accountMgr.getAccountsByType(getString(R.string.account_type)); | 				_accountMgr.getAccountsByType(getString(R.string.account_type)); | ||||||
|         Collections.addAll(listItems, accountList); |         Collections.addAll(itemList, accountList); | ||||||
| 
 | 
 | ||||||
| 		adapter.notifyDataSetChanged(); | 		adapter.notifyDataSetChanged(); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -69,12 +69,14 @@ public class ContactListActivity extends AppCompatActivity implements ASyncConta | |||||||
| 		final Spinner sp = (Spinner) findViewById(R.id.contact_spinner); | 		final Spinner sp = (Spinner) findViewById(R.id.contact_spinner); | ||||||
| 		mContactInfos = (LinearLayout) findViewById(R.id.contactinfos_layout); | 		mContactInfos = (LinearLayout) findViewById(R.id.contactinfos_layout); | ||||||
| 		final ProgressBar contactProgressBar = (ProgressBar) findViewById(R.id.contactlist_pgbar); | 		final ProgressBar contactProgressBar = (ProgressBar) findViewById(R.id.contactlist_pgbar); | ||||||
|         final ListView contactPhoneListView = (ListView) findViewById(R.id.contact_phonelistView); |         ListView contactPhoneListView = (ListView) findViewById(R.id.contact_phonelistView); | ||||||
|         mContactPhoneListAdapter = new RecoveryPhoneNumberListViewAdapter(getBaseContext()); |         mContactPhoneListAdapter = new RecoveryPhoneNumberListViewAdapter(getBaseContext()); | ||||||
|  |         assert contactPhoneListView != null; | ||||||
|         contactPhoneListView.setAdapter(mContactPhoneListAdapter); |         contactPhoneListView.setAdapter(mContactPhoneListAdapter); | ||||||
| 
 | 
 | ||||||
| 		mContactInfos.setVisibility(View.INVISIBLE); | 		mContactInfos.setVisibility(View.INVISIBLE); | ||||||
| 
 | 
 | ||||||
|  |         assert sp != null; | ||||||
|         sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { |         sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { | ||||||
| 			@Override | 			@Override | ||||||
| 			public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { | 			public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { | ||||||
| @ -97,6 +99,7 @@ public class ContactListActivity extends AppCompatActivity implements ASyncConta | |||||||
| 		for (final Account element : myAccountList) { | 		for (final Account element : myAccountList) { | ||||||
| 			if (element.name.equals(accountName)) { | 			if (element.name.equals(accountName)) { | ||||||
| 				// Load "contacts" | 				// Load "contacts" | ||||||
|  |                 assert contactProgressBar != null; | ||||||
|                 contactProgressBar.setVisibility(View.VISIBLE); |                 contactProgressBar.setVisibility(View.VISIBLE); | ||||||
| 				new ContactLoadTask(element, getBaseContext(), mAdapter, mObjects, mLayout, contactProgressBar, mContactInfos).execute(); | 				new ContactLoadTask(element, getBaseContext(), mAdapter, mObjects, mLayout, contactProgressBar, mContactInfos).execute(); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -0,0 +1,15 @@ | |||||||
|  | package fr.unix_experience.owncloud_sms.activities.remote_account; | ||||||
|  | 
 | ||||||
|  | import android.os.Bundle; | ||||||
|  | import android.support.v7.app.AppCompatActivity; | ||||||
|  | 
 | ||||||
|  | import fr.unix_experience.owncloud_sms.R; | ||||||
|  | 
 | ||||||
|  | public class RestoreMessagesActivity extends AppCompatActivity { | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     protected void onCreate(Bundle savedInstanceState) { | ||||||
|  |         super.onCreate(savedInstanceState); | ||||||
|  |         setContentView(R.layout.activity_restore_messages); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -34,19 +34,19 @@ public class OCSMSNotificationUI { | |||||||
|      * |      * | ||||||
|      * @see #cancel(Context) |      * @see #cancel(Context) | ||||||
|      */ |      */ | ||||||
|     public static void notify(final Context context, final String titleString, |     public static void notify(Context context, String titleString, | ||||||
|                               final String contentString, final int number) { |                               String contentString, int number) { | ||||||
|         final Resources res = context.getResources(); |         Resources res = context.getResources(); | ||||||
| 
 | 
 | ||||||
|         // This image is used as the notification's large icon (thumbnail). |         // This image is used as the notification's large icon (thumbnail). | ||||||
|         // TODO: Remove this if your notification has no relevant thumbnail. |         // TODO: Remove this if your notification has no relevant thumbnail. | ||||||
|         final Bitmap picture = BitmapFactory.decodeResource(res, R.drawable.ic_launcher); |         Bitmap picture = BitmapFactory.decodeResource(res, R.drawable.ic_launcher); | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|         final String ticker = (titleString.length() > 20) ? titleString.substring(0, 20) : titleString; |         String ticker = (titleString.length() > 20) ? titleString.substring(0, 20) : titleString; | ||||||
|         final String title = res.getString(R.string.ui_notification_title_template, titleString); |         String title = res.getString(R.string.ui_notification_title_template, titleString); | ||||||
| 
 | 
 | ||||||
|         final NotificationCompat.Builder builder = new NotificationCompat.Builder(context) |         NotificationCompat.Builder builder = new NotificationCompat.Builder(context) | ||||||
| 
 | 
 | ||||||
|                 // Set appropriate defaults for the notification light, sound, |                 // Set appropriate defaults for the notification light, sound, | ||||||
|                 // and vibration. |                 // and vibration. | ||||||
| @ -76,17 +76,17 @@ public class OCSMSNotificationUI { | |||||||
|                         .setSummaryText(titleString)) |                         .setSummaryText(titleString)) | ||||||
|                 .setAutoCancel(true); |                 .setAutoCancel(true); | ||||||
| 
 | 
 | ||||||
|         notify(context, builder.build()); |         OCSMSNotificationUI.notify(context, builder.build()); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @TargetApi(Build.VERSION_CODES.ECLAIR) |     @TargetApi(Build.VERSION_CODES.ECLAIR) | ||||||
|     private static void notify(final Context context, final Notification notification) { |     private static void notify(Context context, Notification notification) { | ||||||
|         final NotificationManager nm = (NotificationManager) context |         NotificationManager nm = (NotificationManager) context | ||||||
|                 .getSystemService(Context.NOTIFICATION_SERVICE); |                 .getSystemService(Context.NOTIFICATION_SERVICE); | ||||||
|         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR) { |         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR) { | ||||||
|             nm.notify(NOTIFICATION_TAG, 0, notification); |             nm.notify(OCSMSNotificationUI.NOTIFICATION_TAG, 0, notification); | ||||||
|         } else { |         } else { | ||||||
|             nm.notify(NOTIFICATION_TAG.hashCode(), notification); |             nm.notify(OCSMSNotificationUI.NOTIFICATION_TAG.hashCode(), notification); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| @ -95,13 +95,13 @@ public class OCSMSNotificationUI { | |||||||
|      * {@link #notify(Context, String, int)}. |      * {@link #notify(Context, String, int)}. | ||||||
|      */ |      */ | ||||||
|     @TargetApi(Build.VERSION_CODES.ECLAIR) |     @TargetApi(Build.VERSION_CODES.ECLAIR) | ||||||
|     public static void cancel(final Context context) { |     public static void cancel(Context context) { | ||||||
|         final NotificationManager nm = (NotificationManager) context |         NotificationManager nm = (NotificationManager) context | ||||||
|                 .getSystemService(Context.NOTIFICATION_SERVICE); |                 .getSystemService(Context.NOTIFICATION_SERVICE); | ||||||
|         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR) { |         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR) { | ||||||
|             nm.cancel(NOTIFICATION_TAG, 0); |             nm.cancel(OCSMSNotificationUI.NOTIFICATION_TAG, 0); | ||||||
|         } else { |         } else { | ||||||
|             nm.cancel(NOTIFICATION_TAG.hashCode()); |             nm.cancel(OCSMSNotificationUI.NOTIFICATION_TAG.hashCode()); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
							
								
								
									
										42
									
								
								src/main/res/layout/activity_account_actions.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								src/main/res/layout/activity_account_actions.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,42 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <!-- | ||||||
|  | /* | ||||||
|  |  * Copyright (c) 2014-2015, Loic Blot <loic.blot@unix-experience.fr> | ||||||
|  |  * All rights reserved. | ||||||
|  |  * Redistribution and use in source and binary forms, with or without | ||||||
|  |  * modification, are permitted provided that the following conditions | ||||||
|  |  * are met: | ||||||
|  |  * 1. Redistributions of source code must retain the above copyright | ||||||
|  |  *    notice, this list of conditions and the following disclaimer. | ||||||
|  |  * 2. Redistributions in binary form must reproduce the above copyright | ||||||
|  |  *    notice, this list of conditions and the following disclaimer in the | ||||||
|  |  *    documentation and/or other materials provided with the distribution. | ||||||
|  |  * | ||||||
|  |  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND | ||||||
|  |  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||||||
|  |  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||||||
|  |  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE | ||||||
|  |  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||||||
|  |  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||||||
|  |  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||||
|  |  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||||||
|  |  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||||||
|  |  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||||
|  |  * SUCH DAMAGE. | ||||||
|  |  */ | ||||||
|  | --> | ||||||
|  | <LinearLayout | ||||||
|  |     xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |     xmlns:tools="http://schemas.android.com/tools" | ||||||
|  |     android:layout_width="fill_parent" | ||||||
|  |     android:layout_height="fill_parent" | ||||||
|  |     tools:context="fr.unix_experience.owncloud_sms.activities.remote_account.AccountActionsActivity" | ||||||
|  |     android:orientation="vertical"> | ||||||
|  | 
 | ||||||
|  |     <ListView | ||||||
|  |         android:layout_width="fill_parent" | ||||||
|  |         android:layout_height="fill_parent" | ||||||
|  |         android:id="@+id/list" | ||||||
|  |         android:choiceMode="singleChoice" | ||||||
|  |         android:drawSelectorOnTop="true"/> | ||||||
|  | </LinearLayout> | ||||||
							
								
								
									
										39
									
								
								src/main/res/layout/activity_restore_messages.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								src/main/res/layout/activity_restore_messages.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,39 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <!-- | ||||||
|  | /* | ||||||
|  |  * Copyright (c) 2014-2015, Loic Blot <loic.blot@unix-experience.fr> | ||||||
|  |  * All rights reserved. | ||||||
|  |  * Redistribution and use in source and binary forms, with or without | ||||||
|  |  * modification, are permitted provided that the following conditions | ||||||
|  |  * are met: | ||||||
|  |  * 1. Redistributions of source code must retain the above copyright | ||||||
|  |  *    notice, this list of conditions and the following disclaimer. | ||||||
|  |  * 2. Redistributions in binary form must reproduce the above copyright | ||||||
|  |  *    notice, this list of conditions and the following disclaimer in the | ||||||
|  |  *    documentation and/or other materials provided with the distribution. | ||||||
|  |  * | ||||||
|  |  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND | ||||||
|  |  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||||||
|  |  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||||||
|  |  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE | ||||||
|  |  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||||||
|  |  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||||||
|  |  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||||
|  |  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||||||
|  |  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||||||
|  |  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||||
|  |  * SUCH DAMAGE. | ||||||
|  |  */ | ||||||
|  | --> | ||||||
|  | <RelativeLayout | ||||||
|  |     xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |     xmlns:tools="http://schemas.android.com/tools" | ||||||
|  |     android:layout_width="match_parent" | ||||||
|  |     android:layout_height="match_parent" | ||||||
|  |     android:paddingBottom="@dimen/activity_vertical_margin" | ||||||
|  |     android:paddingLeft="@dimen/activity_horizontal_margin" | ||||||
|  |     android:paddingRight="@dimen/activity_horizontal_margin" | ||||||
|  |     android:paddingTop="@dimen/activity_vertical_margin" | ||||||
|  |     tools:context="fr.unix_experience.owncloud_sms.activities.remote_account.RestoreMessagesActivity"> | ||||||
|  | 
 | ||||||
|  | </RelativeLayout> | ||||||
| @ -168,5 +168,7 @@ | |||||||
|     <string name="err_cannot_read_contacts">We cannot read your contacts.</string> |     <string name="err_cannot_read_contacts">We cannot read your contacts.</string> | ||||||
|     <string name="err_cannot_read_sms">We cannot read your SMS.</string> |     <string name="err_cannot_read_sms">We cannot read your SMS.</string> | ||||||
|     <string name="action_appinfo_perms">App Infos and permissions</string> |     <string name="action_appinfo_perms">App Infos and permissions</string> | ||||||
|  |     <string name="restore_all_messages">Restore all messages</string> | ||||||
|  |     <string name="account_actions">Account actions</string> | ||||||
| 
 | 
 | ||||||
| </resources> | </resources> | ||||||
|  | |||||||
| @ -153,4 +153,6 @@ | |||||||
|     <string name="err_cannot_read_contacts">Nous ne pouvons lire vos contacts.</string> |     <string name="err_cannot_read_contacts">Nous ne pouvons lire vos contacts.</string> | ||||||
|     <string name="err_cannot_read_sms">Nous ne pouvons pas lire vos SMS.</string> |     <string name="err_cannot_read_sms">Nous ne pouvons pas lire vos SMS.</string> | ||||||
|     <string name="action_appinfo_perms">Infos et permissions</string> |     <string name="action_appinfo_perms">Infos et permissions</string> | ||||||
|  |     <string name="restore_all_messages">Restaurer tous les messages</string> | ||||||
|  |     <string name="account_actions">Actions du compte</string> | ||||||
| </resources> | </resources> | ||||||
|  | |||||||
| @ -27,7 +27,7 @@ | |||||||
| --> | --> | ||||||
| <resources> | <resources> | ||||||
|     <!-- Translation version, reference for translators --> |     <!-- Translation version, reference for translators --> | ||||||
| 	<string name="gp_translation_version">3</string> | 	<string name="gp_translation_version" translatable="false">3</string> | ||||||
| 	 | 	 | ||||||
| 	<!-- Translations must begin here --> | 	<!-- Translations must begin here --> | ||||||
|     <string name="gp_short_description">ownCloud SMS synchronize your local SMS on your ownCloud instance</string> |     <string name="gp_short_description">ownCloud SMS synchronize your local SMS on your ownCloud instance</string> | ||||||
|  | |||||||
| @ -41,7 +41,7 @@ | |||||||
|     <string name="login_logo">Login logo</string> |     <string name="login_logo">Login logo</string> | ||||||
| 
 | 
 | ||||||
|     <!-- System strings: preferences --> |     <!-- System strings: preferences --> | ||||||
|     <string name="shared_preference_file">ownCloudSMSPrefs</string> |     <string name="shared_preference_file" translatable="false">ownCloudSMSPrefs</string> | ||||||
|     <string name="pref_lastmsgdate">last_message_date</string> |     <string name="pref_lastmsgdate">last_message_date</string> | ||||||
| 
 | 
 | ||||||
|     <!-- Translations must begin there --> |     <!-- Translations must begin there --> | ||||||
| @ -203,4 +203,6 @@ | |||||||
|     <string name="err_cannot_read_contacts">We cannot read your contacts.</string> |     <string name="err_cannot_read_contacts">We cannot read your contacts.</string> | ||||||
|     <string name="err_cannot_read_sms">We cannot read your SMS.</string> |     <string name="err_cannot_read_sms">We cannot read your SMS.</string> | ||||||
|     <string name="action_appinfo_perms">App Infos and permissions</string> |     <string name="action_appinfo_perms">App Infos and permissions</string> | ||||||
|  |     <string name="restore_all_messages">Restore all messages</string> | ||||||
|  |     <string name="account_actions">Account actions</string> | ||||||
| </resources> | </resources> | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user