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:icon="@drawable/ic_launcher"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:theme="@style/ConversationsTheme"
|
android:theme="@style/ConversationsTheme"
|
||||||
tools:replace="android:label">
|
tools:replace="android:label" >
|
||||||
<service android:name="eu.siacs.conversations.services.XmppConnectionService" />
|
<service android:name=".services.XmppConnectionService" />
|
||||||
|
|
||||||
<receiver android:name="eu.siacs.conversations.services.EventReceiver">
|
<receiver android:name=".services.EventReceiver" >
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
||||||
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
|
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
|
||||||
|
@ -31,10 +31,10 @@
|
||||||
</receiver>
|
</receiver>
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name="eu.siacs.conversations.ui.ConversationActivity"
|
android:name=".ui.ConversationActivity"
|
||||||
android:label="@string/title_activity_conversations"
|
android:label="@string/title_activity_conversations"
|
||||||
android:launchMode="singleTask"
|
android:launchMode="singleTask"
|
||||||
android:windowSoftInputMode="stateHidden">
|
android:windowSoftInputMode="stateHidden" >
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
|
||||||
|
@ -42,9 +42,9 @@
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<activity
|
<activity
|
||||||
android:name="eu.siacs.conversations.ui.StartConversationActivity"
|
android:name=".ui.StartConversationActivity"
|
||||||
android:configChanges="orientation|screenSize"
|
android:configChanges="orientation|screenSize"
|
||||||
android:label="@string/title_activity_start_conversation">
|
android:label="@string/title_activity_start_conversation" >
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.SENDTO" />
|
<action android:name="android.intent.action.SENDTO" />
|
||||||
|
|
||||||
|
@ -63,38 +63,40 @@
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
|
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
|
||||||
|
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
|
|
||||||
<data android:scheme="xmpp" />
|
<data android:scheme="xmpp" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<activity
|
<activity
|
||||||
android:name="eu.siacs.conversations.ui.SettingsActivity"
|
android:name=".ui.SettingsActivity"
|
||||||
android:label="@string/title_activity_settings"></activity>
|
android:label="@string/title_activity_settings" />
|
||||||
<activity
|
<activity
|
||||||
android:name="eu.siacs.conversations.ui.ChooseContactActivity"
|
android:name=".ui.ChooseContactActivity"
|
||||||
android:label="@string/title_activity_choose_contact"></activity>
|
android:label="@string/title_activity_choose_contact" />
|
||||||
<activity
|
<activity
|
||||||
android:name="eu.siacs.conversations.ui.ManageAccountActivity"
|
android:name=".ui.ManageAccountActivity"
|
||||||
android:configChanges="orientation|screenSize"
|
android:configChanges="orientation|screenSize"
|
||||||
android:label="@string/title_activity_manage_accounts"></activity>
|
android:label="@string/title_activity_manage_accounts" />
|
||||||
<activity
|
<activity
|
||||||
android:name="eu.siacs.conversations.ui.EditAccountActivity"
|
android:name=".ui.EditAccountActivity"
|
||||||
android:windowSoftInputMode="stateHidden|adjustResize"></activity>
|
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||||
<activity
|
<activity
|
||||||
android:name="eu.siacs.conversations.ui.ConferenceDetailsActivity"
|
android:name=".ui.ConferenceDetailsActivity"
|
||||||
android:label="@string/title_activity_conference_details"
|
android:label="@string/title_activity_conference_details"
|
||||||
android:windowSoftInputMode="stateHidden"></activity>
|
android:windowSoftInputMode="stateHidden" />
|
||||||
<activity
|
<activity
|
||||||
android:name="eu.siacs.conversations.ui.ContactDetailsActivity"
|
android:name=".ui.ContactDetailsActivity"
|
||||||
android:label="@string/title_activity_contact_details"
|
android:label="@string/title_activity_contact_details"
|
||||||
android:windowSoftInputMode="stateHidden"></activity>
|
android:windowSoftInputMode="stateHidden" />
|
||||||
<activity
|
<activity
|
||||||
android:name="eu.siacs.conversations.ui.PublishProfilePictureActivity"
|
android:name=".ui.PublishProfilePictureActivity"
|
||||||
android:label="@string/mgmt_account_publish_avatar"
|
android:label="@string/mgmt_account_publish_avatar"
|
||||||
android:windowSoftInputMode="stateHidden"></activity>
|
android:windowSoftInputMode="stateHidden" />
|
||||||
<activity
|
<activity
|
||||||
android:name="eu.siacs.conversations.ui.ShareWithActivity"
|
android:name=".ui.ShareWithActivity"
|
||||||
android:label="@string/title_activity_conversations">
|
android:label="@string/title_activity_conversations" >
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.SEND" />
|
<action android:name="android.intent.action.SEND" />
|
||||||
|
|
||||||
|
@ -111,6 +113,14 @@
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<activity android:name="de.duenndns.ssl.MemorizingActivity" />
|
<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>
|
</application>
|
||||||
|
|
||||||
</manifest>
|
</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="minute_ago">1 min ago</string>
|
||||||
<string name="minutes_ago">%d mins ago</string>
|
<string name="minutes_ago">%d mins ago</string>
|
||||||
<string name="unread_conversations">unread Conversations</string>
|
<string name="unread_conversations">unread Conversations</string>
|
||||||
<string name="sending">sending…</string>
|
<string name="sending">sending…</string>
|
||||||
<string name="encrypted_message">Decrypting message. Please wait…</string>
|
<string name="encrypted_message">Decrypting message. Please wait…</string>
|
||||||
<string name="nick_in_use">Nickname is already in use</string>
|
<string name="nick_in_use">Nickname is already in use</string>
|
||||||
<string name="admin">Admin</string>
|
<string name="admin">Admin</string>
|
||||||
<string name="owner">Owner</string>
|
<string name="owner">Owner</string>
|
||||||
|
@ -58,7 +58,7 @@
|
||||||
<string name="add_contact">Add contact</string>
|
<string name="add_contact">Add contact</string>
|
||||||
<string name="send_failed">delivery failed</string>
|
<string name="send_failed">delivery failed</string>
|
||||||
<string name="send_rejected">rejected</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="preparing_image">Preparing image for transmission</string>
|
||||||
<string name="action_clear_history">Clear history</string>
|
<string name="action_clear_history">Clear history</string>
|
||||||
<string name="clear_conversation_history">Clear Conversation 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="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="restart">Restart</string>
|
||||||
<string name="install">Install</string>
|
<string name="install">Install</string>
|
||||||
<string name="offering">offering…</string>
|
<string name="offering">offering…</string>
|
||||||
<string name="waiting">waiting…</string>
|
<string name="waiting">waiting…</string>
|
||||||
<string name="no_pgp_key">No OpenPGP Key found</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="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>
|
<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">XMPP resource</string>
|
||||||
<string name="pref_xmpp_resource_summary">The name this client identifies itself with</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">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_notification_settings">Notification Settings</string>
|
||||||
<string name="pref_notifications">Notifications</string>
|
<string name="pref_notifications">Notifications</string>
|
||||||
<string name="pref_notifications_summary">Notify when a new message arrives</string>
|
<string name="pref_notifications_summary">Notify when a new message arrives</string>
|
||||||
|
@ -217,7 +217,7 @@
|
||||||
<string name="publish">Publish</string>
|
<string name="publish">Publish</string>
|
||||||
<string name="touch_to_choose_picture">Touch avatar to select picture from gallery</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="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_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_publish_avatar_converting">Something went wrong while converting your picture</string>
|
||||||
<string name="error_saving_avatar">Could not save avatar to disk</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_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">Expert options</string>
|
||||||
<string name="pref_expert_options_summary">Please be careful with these</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">Increase font size</string>
|
||||||
<string name="pref_use_larger_font_summary">Use larger font sizes across the entire app</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>
|
<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:summary="@string/pref_never_send_crash_summary"
|
||||||
android:title="@string/pref_never_send_crash" />
|
android:title="@string/pref_never_send_crash" />
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
<eu.siacs.conversations.ui.AboutPreference
|
||||||
|
android:summary="@string/pref_about_conversations_summary"
|
||||||
|
android:title="@string/title_activity_about" />
|
||||||
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
|
Loading…
Reference in New Issue