Merge pull request #616 from SamWhited/license-compliance
License compliance via an "about" menu item
This commit is contained in:
		
						commit
						39183418ab
					
				|  | @ -19,10 +19,10 @@ | |||
|         android:icon="@drawable/ic_launcher" | ||||
|         android:label="@string/app_name" | ||||
|         android:theme="@style/ConversationsTheme" | ||||
|         tools:replace="android:label"> | ||||
|         <service android:name="eu.siacs.conversations.services.XmppConnectionService" /> | ||||
|         tools:replace="android:label" > | ||||
|         <service android:name=".services.XmppConnectionService" /> | ||||
| 
 | ||||
|         <receiver android:name="eu.siacs.conversations.services.EventReceiver"> | ||||
|         <receiver android:name=".services.EventReceiver" > | ||||
|             <intent-filter> | ||||
|                 <action android:name="android.intent.action.BOOT_COMPLETED" /> | ||||
|                 <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> | ||||
|  | @ -31,10 +31,10 @@ | |||
|         </receiver> | ||||
| 
 | ||||
|         <activity | ||||
|             android:name="eu.siacs.conversations.ui.ConversationActivity" | ||||
|             android:name=".ui.ConversationActivity" | ||||
|             android:label="@string/title_activity_conversations" | ||||
|             android:launchMode="singleTask" | ||||
|             android:windowSoftInputMode="stateHidden"> | ||||
|             android:windowSoftInputMode="stateHidden" > | ||||
|             <intent-filter> | ||||
|                 <action android:name="android.intent.action.MAIN" /> | ||||
| 
 | ||||
|  | @ -42,9 +42,9 @@ | |||
|             </intent-filter> | ||||
|         </activity> | ||||
|         <activity | ||||
|             android:name="eu.siacs.conversations.ui.StartConversationActivity" | ||||
|             android:name=".ui.StartConversationActivity" | ||||
|             android:configChanges="orientation|screenSize" | ||||
|             android:label="@string/title_activity_start_conversation"> | ||||
|             android:label="@string/title_activity_start_conversation" > | ||||
|             <intent-filter> | ||||
|                 <action android:name="android.intent.action.SENDTO" /> | ||||
| 
 | ||||
|  | @ -63,38 +63,40 @@ | |||
|             </intent-filter> | ||||
|             <intent-filter> | ||||
|                 <action android:name="android.nfc.action.NDEF_DISCOVERED" /> | ||||
| 
 | ||||
|                 <category android:name="android.intent.category.DEFAULT" /> | ||||
| 
 | ||||
|                 <data android:scheme="xmpp" /> | ||||
|             </intent-filter> | ||||
|         </activity> | ||||
|         <activity | ||||
|             android:name="eu.siacs.conversations.ui.SettingsActivity" | ||||
|             android:label="@string/title_activity_settings"></activity> | ||||
|             android:name=".ui.SettingsActivity" | ||||
|             android:label="@string/title_activity_settings" /> | ||||
|         <activity | ||||
|             android:name="eu.siacs.conversations.ui.ChooseContactActivity" | ||||
|             android:label="@string/title_activity_choose_contact"></activity> | ||||
|             android:name=".ui.ChooseContactActivity" | ||||
|             android:label="@string/title_activity_choose_contact" /> | ||||
|         <activity | ||||
|             android:name="eu.siacs.conversations.ui.ManageAccountActivity" | ||||
|             android:name=".ui.ManageAccountActivity" | ||||
|             android:configChanges="orientation|screenSize" | ||||
|             android:label="@string/title_activity_manage_accounts"></activity> | ||||
|             android:label="@string/title_activity_manage_accounts" /> | ||||
|         <activity | ||||
|             android:name="eu.siacs.conversations.ui.EditAccountActivity" | ||||
|             android:windowSoftInputMode="stateHidden|adjustResize"></activity> | ||||
|             android:name=".ui.EditAccountActivity" | ||||
|             android:windowSoftInputMode="stateHidden|adjustResize" /> | ||||
|         <activity | ||||
|             android:name="eu.siacs.conversations.ui.ConferenceDetailsActivity" | ||||
|             android:name=".ui.ConferenceDetailsActivity" | ||||
|             android:label="@string/title_activity_conference_details" | ||||
|             android:windowSoftInputMode="stateHidden"></activity> | ||||
|             android:windowSoftInputMode="stateHidden" /> | ||||
|         <activity | ||||
|             android:name="eu.siacs.conversations.ui.ContactDetailsActivity" | ||||
|             android:name=".ui.ContactDetailsActivity" | ||||
|             android:label="@string/title_activity_contact_details" | ||||
|             android:windowSoftInputMode="stateHidden"></activity> | ||||
|             android:windowSoftInputMode="stateHidden" /> | ||||
|         <activity | ||||
|             android:name="eu.siacs.conversations.ui.PublishProfilePictureActivity" | ||||
|             android:name=".ui.PublishProfilePictureActivity" | ||||
|             android:label="@string/mgmt_account_publish_avatar" | ||||
|             android:windowSoftInputMode="stateHidden"></activity> | ||||
|             android:windowSoftInputMode="stateHidden" /> | ||||
|         <activity | ||||
|             android:name="eu.siacs.conversations.ui.ShareWithActivity" | ||||
|             android:label="@string/title_activity_conversations"> | ||||
|             android:name=".ui.ShareWithActivity" | ||||
|             android:label="@string/title_activity_conversations" > | ||||
|             <intent-filter> | ||||
|                 <action android:name="android.intent.action.SEND" /> | ||||
| 
 | ||||
|  | @ -111,6 +113,14 @@ | |||
|             </intent-filter> | ||||
|         </activity> | ||||
|         <activity android:name="de.duenndns.ssl.MemorizingActivity" /> | ||||
|         <activity | ||||
|             android:name=".ui.AboutActivity" | ||||
|             android:label="@string/title_activity_about" | ||||
|             android:parentActivityName=".ui.SettingsActivity" > | ||||
|             <meta-data | ||||
|                 android:name="android.support.PARENT_ACTIVITY" | ||||
|                 android:value="eu.siacs.conversations.ui.SettingsActivity" /> | ||||
|         </activity> | ||||
|     </application> | ||||
| 
 | ||||
| </manifest> | ||||
|  |  | |||
|  | @ -0,0 +1,15 @@ | |||
| package eu.siacs.conversations.ui; | ||||
| 
 | ||||
| import android.app.Activity; | ||||
| import android.os.Bundle; | ||||
| 
 | ||||
| import eu.siacs.conversations.R; | ||||
| 
 | ||||
| public class AboutActivity extends Activity { | ||||
| 
 | ||||
|     @Override | ||||
|     protected void onCreate(Bundle savedInstanceState) { | ||||
|         super.onCreate(savedInstanceState); | ||||
|         setContentView(R.layout.activity_about); | ||||
|     } | ||||
| } | ||||
|  | @ -0,0 +1,41 @@ | |||
| package eu.siacs.conversations.ui; | ||||
| 
 | ||||
| import android.content.Context; | ||||
| import android.content.Intent; | ||||
| import android.content.pm.PackageManager; | ||||
| import android.preference.Preference; | ||||
| import android.util.AttributeSet; | ||||
| 
 | ||||
| public class AboutPreference extends Preference { | ||||
| 	public AboutPreference(final Context context, final AttributeSet attrs, final int defStyle) { | ||||
| 		super(context, attrs, defStyle); | ||||
| 		setSummary(); | ||||
| 	} | ||||
| 
 | ||||
| 	public AboutPreference(final Context context, final AttributeSet attrs) { | ||||
| 		super(context, attrs); | ||||
| 		setSummary(); | ||||
| 	} | ||||
| 
 | ||||
|     @Override | ||||
|     protected void onClick() { | ||||
|         super.onClick(); | ||||
|         final Intent intent = new Intent(getContext(), AboutActivity.class); | ||||
|         getContext().startActivity(intent); | ||||
|     } | ||||
| 
 | ||||
|     private void setSummary() { | ||||
| 		if (getContext() != null && getContext().getPackageManager() != null) { | ||||
| 			final String packageName = getContext().getPackageName(); | ||||
| 			final String versionName; | ||||
| 			try { | ||||
| 				versionName = getContext().getPackageManager().getPackageInfo(packageName, 0).versionName; | ||||
| 				setSummary("Conversations " + versionName); | ||||
| 			} catch (final PackageManager.NameNotFoundException e) { | ||||
| 				// Using try/catch as part of the logic is sort of like this: | ||||
| 				// https://xkcd.com/292/ | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
|  | @ -0,0 +1,21 @@ | |||
| <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|     xmlns:tools="http://schemas.android.com/tools" | ||||
|     tools:context="eu.siacs.conversations.ui.AboutActivity" | ||||
|     android:background="@color/secondarybackground" | ||||
|     android:paddingLeft="@dimen/activity_horizontal_margin" | ||||
|     android:paddingRight="@dimen/activity_horizontal_margin" | ||||
|     android:paddingTop="@dimen/activity_vertical_margin" | ||||
|     android:paddingBottom="@dimen/activity_vertical_margin" | ||||
|     android:layout_width="fill_parent" | ||||
|     android:layout_height="fill_parent"> | ||||
| 
 | ||||
|     <TextView | ||||
|         android:text="@string/pref_about_message" | ||||
|         android:autoLink="web" | ||||
|         android:layout_width="wrap_content" | ||||
|         android:layout_height="wrap_content" | ||||
|         android:linksClickable="true" | ||||
|         android:textColor="@color/primarytext" | ||||
|         android:textSize="?attr/TextSizeBody" /> | ||||
| 
 | ||||
| </ScrollView> | ||||
|  | @ -0,0 +1,7 @@ | |||
| <resources> | ||||
|     <!-- Customization of dimensions originally defined in res/values/dimens.xml | ||||
| 				 (such as screen margins) for screens with more than 820dp of available | ||||
| 				 width. This would include 7" and 10" devices in landscape (~960dp and | ||||
| 				 ~1280dp respectively). --> | ||||
|     <dimen name="activity_horizontal_margin">64dp</dimen> | ||||
| </resources> | ||||
|  | @ -0,0 +1,5 @@ | |||
| <resources> | ||||
|     <!-- Default screen margins, per the Android Design guidelines. --> | ||||
|     <dimen name="activity_horizontal_margin">16dp</dimen> | ||||
|     <dimen name="activity_vertical_margin">16dp</dimen> | ||||
| </resources> | ||||
|  | @ -25,8 +25,8 @@ | |||
|     <string name="minute_ago">1 min ago</string> | ||||
|     <string name="minutes_ago">%d mins ago</string> | ||||
|     <string name="unread_conversations">unread Conversations</string> | ||||
|     <string name="sending">sending…</string> | ||||
|     <string name="encrypted_message">Decrypting message. Please wait…</string> | ||||
|     <string name="sending">sending…</string> | ||||
|     <string name="encrypted_message">Decrypting message. Please wait…</string> | ||||
|     <string name="nick_in_use">Nickname is already in use</string> | ||||
|     <string name="admin">Admin</string> | ||||
|     <string name="owner">Owner</string> | ||||
|  | @ -58,7 +58,7 @@ | |||
|     <string name="add_contact">Add contact</string> | ||||
|     <string name="send_failed">delivery failed</string> | ||||
|     <string name="send_rejected">rejected</string> | ||||
|     <string name="receiving_image">Receiving image file. Please wait…</string> | ||||
|     <string name="receiving_image">Receiving image file. Please wait…</string> | ||||
|     <string name="preparing_image">Preparing image for transmission</string> | ||||
|     <string name="action_clear_history">Clear history</string> | ||||
|     <string name="clear_conversation_history">Clear Conversation History</string> | ||||
|  | @ -78,8 +78,8 @@ | |||
|     <string name="openkeychain_required_long">Conversations utilizes a third party app called <b>OpenKeychain</b> to encrypt and decrypt messages and to manage your public keys.\n\nOpenKeychain is licensed under GPLv3 and available on F-Droid and Google Play.\n\n<small>(Please restart Conversations afterwards.)</small></string> | ||||
|     <string name="restart">Restart</string> | ||||
|     <string name="install">Install</string> | ||||
|     <string name="offering">offering…</string> | ||||
|     <string name="waiting">waiting…</string> | ||||
|     <string name="offering">offering…</string> | ||||
|     <string name="waiting">waiting…</string> | ||||
|     <string name="no_pgp_key">No OpenPGP Key found</string> | ||||
|     <string name="contact_has_no_pgp_key">Conversations is unable to encrypt your messages because your contact is not announcing his or hers public key.\n\n<small>Please ask your contact to setup OpenPGP.</small></string> | ||||
|     <string name="no_pgp_keys">No OpenPGP Keys found</string> | ||||
|  | @ -91,7 +91,7 @@ | |||
|     <string name="pref_xmpp_resource">XMPP resource</string> | ||||
|     <string name="pref_xmpp_resource_summary">The name this client identifies itself with</string> | ||||
|     <string name="pref_accept_files">Accept files</string> | ||||
|     <string name="pref_accept_files_summary">Automatically accept files smaller than…</string> | ||||
|     <string name="pref_accept_files_summary">Automatically accept files smaller than…</string> | ||||
|     <string name="pref_notification_settings">Notification Settings</string> | ||||
|     <string name="pref_notifications">Notifications</string> | ||||
|     <string name="pref_notifications_summary">Notify when a new message arrives</string> | ||||
|  | @ -217,7 +217,7 @@ | |||
|     <string name="publish">Publish</string> | ||||
|     <string name="touch_to_choose_picture">Touch avatar to select picture from gallery</string> | ||||
|     <string name="publish_avatar_explanation">Please note: Everyone subscribed to your presence updates will be allowed to see this picture.</string> | ||||
|     <string name="publishing">Publishing…</string> | ||||
|     <string name="publishing">Publishing…</string> | ||||
|     <string name="error_publish_avatar_server_reject">The server rejected your publication</string> | ||||
|     <string name="error_publish_avatar_converting">Something went wrong while converting your picture</string> | ||||
|     <string name="error_saving_avatar">Could not save avatar to disk</string> | ||||
|  | @ -254,6 +254,29 @@ | |||
|     <string name="pref_enable_legacy_ssl_summary">Enables SSLv3 support for legacy servers. Warning: SSLv3 is considered insecure.</string> | ||||
|     <string name="pref_expert_options">Expert options</string> | ||||
|     <string name="pref_expert_options_summary">Please be careful with these</string> | ||||
|     <string name="title_activity_about">About Conversations</string> | ||||
|     <string name="pref_about_conversations_summary">Build and licensing information</string> | ||||
|     <string name="pref_about_message"> | ||||
| 			This program is free software; you can redistribute it and/or modify it | ||||
| 			under the terms of the GNU General Public License version 3 as published | ||||
| 			by the Free Software Foundation.\n | ||||
| 			\n | ||||
| 			https://www.gnu.org/licenses/gpl-3.0.html\n | ||||
| 			\n | ||||
| 			OpenPGP API is licensed under the Apache License, Version 2.0; You may | ||||
| 			obtain a copy of the License at:\n | ||||
| 			\n | ||||
| 			https://www.apache.org/licenses/LICENSE-2.0\n | ||||
| 			\n | ||||
| 			Minidns © 2014 Rene Treffer and is provided under the WTFPL\n | ||||
| 			\n | ||||
| 			http://wtfpl.org\n | ||||
| 			\n | ||||
| 			MemorizingTrustManager © 2010 Georg Lukas under the terms of the MIT | ||||
| 			License\n | ||||
| 			\n | ||||
| 			http://opensource.org/licenses/MIT\n | ||||
| 			</string> | ||||
|     <string name="pref_use_larger_font">Increase font size</string> | ||||
|     <string name="pref_use_larger_font_summary">Use larger font sizes across the entire app</string> | ||||
|     <string name="pref_use_send_button_to_indicate_status">Send button indicates status</string> | ||||
|  |  | |||
|  | @ -110,5 +110,8 @@ | |||
|             android:summary="@string/pref_never_send_crash_summary" | ||||
|             android:title="@string/pref_never_send_crash" /> | ||||
|     </PreferenceCategory> | ||||
| 		<eu.siacs.conversations.ui.AboutPreference | ||||
| 			android:summary="@string/pref_about_conversations_summary" | ||||
| 			android:title="@string/title_activity_about" /> | ||||
| 
 | ||||
| </PreferenceScreen> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Daniel Gultsch
						Daniel Gultsch