mirror of
https://github.com/oxen-io/session-android.git
synced 2025-12-03 09:22:23 +00:00
replace ABS with AppCompat
// FREEBIE
This commit is contained in:
36
src/org/thoughtcrime/securesms/ActionBarListActivity.java
Normal file
36
src/org/thoughtcrime/securesms/ActionBarListActivity.java
Normal file
@@ -0,0 +1,36 @@
|
||||
package org.thoughtcrime.securesms;
|
||||
|
||||
import android.support.v7.app.ActionBarActivity;
|
||||
import android.view.View;
|
||||
import android.widget.HeaderViewListAdapter;
|
||||
import android.widget.ListAdapter;
|
||||
import android.widget.ListView;
|
||||
|
||||
public abstract class ActionBarListActivity extends ActionBarActivity {
|
||||
|
||||
private ListView mListView;
|
||||
|
||||
protected ListView getListView() {
|
||||
if (mListView == null) {
|
||||
mListView = (ListView) findViewById(android.R.id.list);
|
||||
}
|
||||
return mListView;
|
||||
}
|
||||
|
||||
protected void setListAdapter(ListAdapter adapter) {
|
||||
getListView().setAdapter(adapter);
|
||||
}
|
||||
|
||||
protected ListAdapter getListAdapter() {
|
||||
ListAdapter adapter = getListView().getAdapter();
|
||||
if (adapter instanceof HeaderViewListAdapter) {
|
||||
return ((HeaderViewListAdapter)adapter).getWrappedAdapter();
|
||||
} else {
|
||||
return adapter;
|
||||
}
|
||||
}
|
||||
|
||||
protected void onListItemClick(ListView lv, View v, int position, long id) {
|
||||
getListView().getOnItemClickListener().onItemClick(lv, v, position, id);
|
||||
}
|
||||
}
|
||||
@@ -40,11 +40,15 @@ import android.preference.RingtonePreference;
|
||||
import android.provider.ContactsContract;
|
||||
import android.provider.Settings;
|
||||
import android.provider.Telephony;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.support.v4.app.FragmentTransaction;
|
||||
import android.support.v4.preference.PreferenceFragment;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.MenuItem;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
import com.google.android.gms.gcm.GoogleCloudMessaging;
|
||||
|
||||
import org.thoughtcrime.securesms.components.OutgoingSmsPreference;
|
||||
@@ -73,7 +77,7 @@ import java.io.IOException;
|
||||
*
|
||||
*/
|
||||
|
||||
public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPreferenceActivity
|
||||
public class ApplicationPreferencesActivity extends PassphraseRequiredActionBarActivity
|
||||
implements SharedPreferences.OnSharedPreferenceChangeListener
|
||||
{
|
||||
private static final String TAG = "Preferences";
|
||||
@@ -99,6 +103,55 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
|
||||
this.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
|
||||
Fragment fragment = new ApplicationPreferenceFragment();
|
||||
FragmentManager fragmentManager = getSupportFragmentManager();
|
||||
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
|
||||
fragmentTransaction.replace(android.R.id.content, fragment);
|
||||
fragmentTransaction.commit();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
dynamicTheme.onResume(this);
|
||||
dynamicLanguage.onResume(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
MemoryCleaner.clean((MasterSecret) getIntent().getParcelableExtra("master_secret"));
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
|
||||
if (key.equals(TextSecurePreferences.THEME_PREF)) {
|
||||
dynamicTheme.onResume(this);
|
||||
} else if (key.equals(TextSecurePreferences.LANGUAGE_PREF)) {
|
||||
dynamicLanguage.onResume(this);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
Intent intent = new Intent(this, ConversationListActivity.class);
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static class ApplicationPreferenceFragment extends PreferenceFragment {
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle icicle) {
|
||||
super.onCreate(icicle);
|
||||
|
||||
addPreferencesFromResource(R.xml.preferences);
|
||||
|
||||
initializeIdentitySelection();
|
||||
@@ -134,14 +187,12 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
|
||||
getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener((ApplicationPreferencesActivity)getActivity());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
dynamicTheme.onResume(this);
|
||||
dynamicLanguage.onResume(this);
|
||||
|
||||
initializePlatformSpecificOptions();
|
||||
}
|
||||
@@ -149,13 +200,7 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
@Override
|
||||
public void onStop() {
|
||||
super.onStop();
|
||||
getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
MemoryCleaner.clean((MasterSecret) getIntent().getParcelableExtra("master_secret"));
|
||||
super.onDestroy();
|
||||
getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener((ApplicationPreferencesActivity)getActivity());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -167,25 +212,11 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
if (resultCode == Activity.RESULT_OK) {
|
||||
switch (reqCode) {
|
||||
case PICK_IDENTITY_CONTACT: handleIdentitySelection(data); break;
|
||||
case ENABLE_PASSPHRASE_ACTIVITY: finish(); break;
|
||||
case ENABLE_PASSPHRASE_ACTIVITY: getActivity().finish(); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
Intent intent = new Intent(this, ConversationListActivity.class);
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private void initializePlatformSpecificOptions() {
|
||||
PreferenceGroup pushSmsCategory = (PreferenceGroup) findPreference("push_sms_category");
|
||||
PreferenceGroup advancedCategory = (PreferenceGroup) findPreference("advanced_category");
|
||||
@@ -198,13 +229,13 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
if (allSmsPreference != null) pushSmsCategory.removePreference(allSmsPreference);
|
||||
if (allMmsPreference != null) pushSmsCategory.removePreference(allMmsPreference);
|
||||
|
||||
if (Util.isDefaultSmsProvider(this)) {
|
||||
if (Util.isDefaultSmsProvider(getActivity())) {
|
||||
defaultPreference.setIntent(new Intent(Settings.ACTION_WIRELESS_SETTINGS));
|
||||
defaultPreference.setTitle(getString(R.string.ApplicationPreferencesActivity_sms_enabled));
|
||||
defaultPreference.setSummary(getString(R.string.ApplicationPreferencesActivity_touch_to_change_your_default_sms_app));
|
||||
} else {
|
||||
Intent intent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
|
||||
intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, getPackageName());
|
||||
intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, getActivity().getPackageName());
|
||||
defaultPreference.setIntent(intent);
|
||||
defaultPreference.setTitle(getString(R.string.ApplicationPreferencesActivity_sms_disabled));
|
||||
defaultPreference.setSummary(getString(R.string.ApplicationPreferencesActivity_touch_to_make_textsecure_your_default_sms_app));
|
||||
@@ -239,12 +270,12 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
|
||||
private void initializePushMessagingToggle() {
|
||||
CheckBoxPreference preference = (CheckBoxPreference)this.findPreference(PUSH_MESSAGING_PREF);
|
||||
preference.setChecked(TextSecurePreferences.isPushRegistered(this));
|
||||
preference.setChecked(TextSecurePreferences.isPushRegistered(getActivity()));
|
||||
preference.setOnPreferenceChangeListener(new PushMessagingClickListener());
|
||||
}
|
||||
|
||||
private void initializeIdentitySelection() {
|
||||
ContactIdentityManager identity = ContactIdentityManager.getInstance(this);
|
||||
ContactIdentityManager identity = ContactIdentityManager.getInstance(getActivity());
|
||||
|
||||
if (identity.isSelfIdentityAutoDetected()) {
|
||||
Preference preference = this.findPreference(DISPLAY_CATEGORY_PREF);
|
||||
@@ -253,7 +284,7 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
Uri contactUri = identity.getSelfIdentityUri();
|
||||
|
||||
if (contactUri != null) {
|
||||
String contactName = ContactAccessor.getInstance().getNameFromContact(this, contactUri);
|
||||
String contactName = ContactAccessor.getInstance().getNameFromContact(getActivity(), contactUri);
|
||||
this.findPreference(TextSecurePreferences.IDENTITY_PREF)
|
||||
.setSummary(String.format(getString(R.string.ApplicationPreferencesActivity_currently_s),
|
||||
contactName));
|
||||
@@ -271,7 +302,7 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
private void initializeRingtoneSummary(RingtonePreference pref) {
|
||||
RingtoneSummaryListener listener =
|
||||
(RingtoneSummaryListener) pref.getOnPreferenceChangeListener();
|
||||
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
|
||||
|
||||
listener.onPreferenceChange(pref, sharedPreferences.getString(pref.getKey(), ""));
|
||||
}
|
||||
@@ -284,20 +315,11 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
Uri contactUri = data.getData();
|
||||
|
||||
if (contactUri != null) {
|
||||
TextSecurePreferences.setIdentityContactUri(this, contactUri.toString());
|
||||
TextSecurePreferences.setIdentityContactUri(getActivity(), contactUri.toString());
|
||||
initializeIdentitySelection();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
|
||||
if (key.equals(TextSecurePreferences.THEME_PREF)) {
|
||||
dynamicTheme.onResume(this);
|
||||
} else if (key.equals(TextSecurePreferences.LANGUAGE_PREF)) {
|
||||
dynamicLanguage.onResume(this);
|
||||
}
|
||||
}
|
||||
|
||||
private class PushMessagingClickListener implements Preference.OnPreferenceChangeListener {
|
||||
|
||||
private static final int SUCCESS = 0;
|
||||
@@ -313,7 +335,7 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
dialog = ProgressDialog.show(ApplicationPreferencesActivity.this,
|
||||
dialog = ProgressDialog.show(getActivity(),
|
||||
getString(R.string.ApplicationPreferencesActivity_unregistering),
|
||||
getString(R.string.ApplicationPreferencesActivity_unregistering_for_data_based_communication),
|
||||
true, false);
|
||||
@@ -326,13 +348,13 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
|
||||
switch (result) {
|
||||
case NETWORK_ERROR:
|
||||
Toast.makeText(ApplicationPreferencesActivity.this,
|
||||
Toast.makeText(getActivity(),
|
||||
getString(R.string.ApplicationPreferencesActivity_error_connecting_to_server),
|
||||
Toast.LENGTH_LONG).show();
|
||||
break;
|
||||
case SUCCESS:
|
||||
((CheckBoxPreference)preference).setChecked(false);
|
||||
TextSecurePreferences.setPushRegistered(ApplicationPreferencesActivity.this, false);
|
||||
TextSecurePreferences.setPushRegistered(getActivity(), false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -340,7 +362,7 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
@Override
|
||||
protected Integer doInBackground(Void... params) {
|
||||
try {
|
||||
Context context = ApplicationPreferencesActivity.this;
|
||||
Context context = getActivity();
|
||||
PushServiceSocket socket = PushServiceSocketFactory.create(context);
|
||||
|
||||
socket.unregisterGcmId();
|
||||
@@ -360,8 +382,8 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
@Override
|
||||
public boolean onPreferenceChange(final Preference preference, Object newValue) {
|
||||
if (((CheckBoxPreference)preference).isChecked()) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(ApplicationPreferencesActivity.this);
|
||||
builder.setIcon(Dialogs.resolveIcon(ApplicationPreferencesActivity.this, R.attr.dialog_info_icon));
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
||||
builder.setIcon(Dialogs.resolveIcon(getActivity(), R.attr.dialog_info_icon));
|
||||
builder.setTitle(getString(R.string.ApplicationPreferencesActivity_disable_push_messages));
|
||||
builder.setMessage(getString(R.string.ApplicationPreferencesActivity_this_will_disable_push_messages));
|
||||
builder.setNegativeButton(android.R.string.cancel, null);
|
||||
@@ -373,8 +395,8 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
});
|
||||
builder.show();
|
||||
} else {
|
||||
Intent intent = new Intent(ApplicationPreferencesActivity.this, RegistrationActivity.class);
|
||||
intent.putExtra("master_secret", getIntent().getParcelableExtra("master_secret"));
|
||||
Intent intent = new Intent(getActivity(), RegistrationActivity.class);
|
||||
intent.putExtra("master_secret", getActivity().getIntent().getParcelableExtra("master_secret"));
|
||||
startActivity(intent);
|
||||
}
|
||||
|
||||
@@ -396,10 +418,10 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
private class ChangePassphraseClickListener implements Preference.OnPreferenceClickListener {
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
if (MasterSecretUtil.isPassphraseInitialized(ApplicationPreferencesActivity.this)) {
|
||||
startActivity(new Intent(ApplicationPreferencesActivity.this, PassphraseChangeActivity.class));
|
||||
if (MasterSecretUtil.isPassphraseInitialized(getActivity())) {
|
||||
startActivity(new Intent(getActivity(), PassphraseChangeActivity.class));
|
||||
} else {
|
||||
Toast.makeText(ApplicationPreferencesActivity.this,
|
||||
Toast.makeText(getActivity(),
|
||||
R.string.ApplicationPreferenceActivity_you_havent_set_a_passphrase_yet,
|
||||
Toast.LENGTH_LONG).show();
|
||||
}
|
||||
@@ -411,8 +433,8 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
private class TrimNowClickListener implements Preference.OnPreferenceClickListener {
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
final int threadLengthLimit = TextSecurePreferences.getThreadTrimLength(ApplicationPreferencesActivity.this);
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(ApplicationPreferencesActivity.this);
|
||||
final int threadLengthLimit = TextSecurePreferences.getThreadTrimLength(getActivity());
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
||||
builder.setTitle(R.string.ApplicationPreferencesActivity_delete_all_old_messages_now);
|
||||
builder.setMessage(String.format(getString(R.string.ApplicationPreferencesActivity_are_you_sure_you_would_like_to_immediately_trim_all_conversation_threads_to_the_s_most_recent_messages),
|
||||
threadLengthLimit));
|
||||
@@ -420,7 +442,7 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
Trimmer.trimAllThreads(ApplicationPreferencesActivity.this, threadLengthLimit);
|
||||
Trimmer.trimAllThreads(getActivity(), threadLengthLimit);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -436,31 +458,31 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
@Override
|
||||
public boolean onPreferenceChange(final Preference preference, Object newValue) {
|
||||
if (!((CheckBoxPreference)preference).isChecked()) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(ApplicationPreferencesActivity.this);
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
||||
builder.setTitle(R.string.ApplicationPreferencesActivity_disable_storage_encryption);
|
||||
builder.setMessage(R.string.ApplicationPreferencesActivity_warning_this_will_disable_storage_encryption_for_all_messages);
|
||||
builder.setIcon(Dialogs.resolveIcon(ApplicationPreferencesActivity.this, R.attr.dialog_alert_icon));
|
||||
builder.setIcon(Dialogs.resolveIcon(getActivity(), R.attr.dialog_alert_icon));
|
||||
builder.setPositiveButton(R.string.ApplicationPreferencesActivity_disable, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
MasterSecret masterSecret = getIntent().getParcelableExtra("master_secret");
|
||||
MasterSecretUtil.changeMasterSecretPassphrase(ApplicationPreferencesActivity.this,
|
||||
MasterSecret masterSecret = getActivity().getIntent().getParcelableExtra("master_secret");
|
||||
MasterSecretUtil.changeMasterSecretPassphrase(getActivity(),
|
||||
masterSecret,
|
||||
MasterSecretUtil.UNENCRYPTED_PASSPHRASE);
|
||||
|
||||
|
||||
TextSecurePreferences.setPasswordDisabled(ApplicationPreferencesActivity.this, true);
|
||||
TextSecurePreferences.setPasswordDisabled(getActivity(), true);
|
||||
((CheckBoxPreference)preference).setChecked(true);
|
||||
|
||||
Intent intent = new Intent(ApplicationPreferencesActivity.this, KeyCachingService.class);
|
||||
Intent intent = new Intent(getActivity(), KeyCachingService.class);
|
||||
intent.setAction(KeyCachingService.DISABLE_ACTION);
|
||||
startService(intent);
|
||||
getActivity().startService(intent);
|
||||
}
|
||||
});
|
||||
builder.setNegativeButton(android.R.string.cancel, null);
|
||||
builder.show();
|
||||
} else {
|
||||
Intent intent = new Intent(ApplicationPreferencesActivity.this,
|
||||
Intent intent = new Intent(getActivity(),
|
||||
PassphraseChangeActivity.class);
|
||||
startActivityForResult(intent, ENABLE_PASSPHRASE_ACTIVITY);
|
||||
}
|
||||
@@ -504,7 +526,7 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
startActivity(new Intent(ApplicationPreferencesActivity.this, MmsPreferencesActivity.class));
|
||||
startActivity(new Intent(getActivity(), MmsPreferencesActivity.class));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -534,10 +556,10 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
if (TextUtils.isEmpty(value)) {
|
||||
preference.setSummary(R.string.preferences__default);
|
||||
} else {
|
||||
Ringtone tone = RingtoneManager.getRingtone(ApplicationPreferencesActivity.this,
|
||||
Ringtone tone = RingtoneManager.getRingtone(getActivity(),
|
||||
Uri.parse(value));
|
||||
if (tone != null) {
|
||||
preference.setSummary(tone.getTitle(ApplicationPreferencesActivity.this));
|
||||
preference.setSummary(tone.getTitle(getActivity()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -548,7 +570,7 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
private class SubmitDebugLogListener implements Preference.OnPreferenceClickListener {
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
final Intent intent = new Intent(ApplicationPreferencesActivity.this, LogSubmitActivity.class);
|
||||
final Intent intent = new Intent(getActivity(), LogSubmitActivity.class);
|
||||
startActivity(intent);
|
||||
return true;
|
||||
}
|
||||
@@ -566,9 +588,9 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
|
||||
private String buildOutgoingSmsDescription() {
|
||||
final StringBuilder builder = new StringBuilder();
|
||||
final boolean dataFallback = TextSecurePreferences.isFallbackSmsAllowed(this);
|
||||
final boolean dataFallbackAsk = TextSecurePreferences.isFallbackSmsAskRequired(this);
|
||||
final boolean nonData = TextSecurePreferences.isDirectSmsAllowed(this);
|
||||
final boolean dataFallback = TextSecurePreferences.isFallbackSmsAllowed(getActivity());
|
||||
final boolean dataFallbackAsk = TextSecurePreferences.isFallbackSmsAskRequired(getActivity());
|
||||
final boolean nonData = TextSecurePreferences.isDirectSmsAllowed(getActivity());
|
||||
|
||||
if (dataFallback) {
|
||||
builder.append(getString(R.string.preferences__sms_outgoing_push_users));
|
||||
@@ -593,8 +615,8 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
|
||||
if (preference!=null)
|
||||
if (preference instanceof PreferenceScreen)
|
||||
if (((PreferenceScreen)preference).getDialog()!=null)
|
||||
((PreferenceScreen)preference).getDialog().getWindow().getDecorView().setBackgroundDrawable(this.getWindow().getDecorView().getBackground().getConstantState().newDrawable());
|
||||
((PreferenceScreen)preference).getDialog().getWindow().getDecorView().setBackgroundDrawable(getActivity().getWindow().getDecorView().getBackground().getConstantState().newDrawable());
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,13 +22,12 @@ import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentPagerAdapter;
|
||||
import android.support.v4.app.FragmentTransaction;
|
||||
import android.support.v4.view.ViewPager;
|
||||
|
||||
import com.actionbarsherlock.app.ActionBar;
|
||||
import com.actionbarsherlock.app.ActionBar.Tab;
|
||||
import com.actionbarsherlock.app.ActionBar.TabListener;
|
||||
import com.actionbarsherlock.view.Menu;
|
||||
import com.actionbarsherlock.view.MenuInflater;
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
import android.support.v7.app.ActionBar;
|
||||
import android.support.v7.app.ActionBar.Tab;
|
||||
import android.support.v7.app.ActionBar.TabListener;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
||||
|
||||
@@ -45,7 +44,7 @@ import static org.thoughtcrime.securesms.contacts.ContactAccessor.ContactData;
|
||||
* @author Moxie Marlinspike
|
||||
*
|
||||
*/
|
||||
public class ContactSelectionActivity extends PassphraseRequiredSherlockFragmentActivity {
|
||||
public class ContactSelectionActivity extends PassphraseRequiredActionBarActivity {
|
||||
|
||||
private final DynamicTheme dynamicTheme = new DynamicTheme();
|
||||
|
||||
@@ -78,7 +77,7 @@ public class ContactSelectionActivity extends PassphraseRequiredSherlockFragment
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
MenuInflater inflater = this.getSupportMenuInflater();
|
||||
MenuInflater inflater = this.getMenuInflater();
|
||||
inflater.inflate(R.menu.contact_selection, menu);
|
||||
|
||||
return true;
|
||||
|
||||
@@ -19,6 +19,7 @@ package org.thoughtcrime.securesms;
|
||||
import android.content.Context;
|
||||
import android.database.Cursor;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.ListFragment;
|
||||
import android.support.v4.app.LoaderManager;
|
||||
import android.support.v4.content.Loader;
|
||||
import android.util.Log;
|
||||
@@ -30,8 +31,6 @@ import android.widget.CursorAdapter;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.ListView;
|
||||
|
||||
import com.actionbarsherlock.app.SherlockListFragment;
|
||||
|
||||
import org.thoughtcrime.securesms.contacts.ContactAccessor;
|
||||
import org.thoughtcrime.securesms.contacts.ContactAccessor.ContactData;
|
||||
import org.thoughtcrime.securesms.contacts.ContactAccessor.GroupData;
|
||||
@@ -51,7 +50,7 @@ import java.util.List;
|
||||
* @author Moxie Marlinspike
|
||||
*
|
||||
*/
|
||||
public class ContactSelectionGroupsFragment extends SherlockListFragment
|
||||
public class ContactSelectionGroupsFragment extends ListFragment
|
||||
implements LoaderManager.LoaderCallbacks<Cursor>
|
||||
{
|
||||
|
||||
|
||||
@@ -22,10 +22,14 @@ import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.database.Cursor;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.ListFragment;
|
||||
import android.support.v4.app.LoaderManager;
|
||||
import android.support.v4.content.Loader;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.CheckedTextView;
|
||||
@@ -34,11 +38,6 @@ import android.widget.ListView;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.actionbarsherlock.app.SherlockListFragment;
|
||||
import com.actionbarsherlock.view.Menu;
|
||||
import com.actionbarsherlock.view.MenuInflater;
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
|
||||
import org.thoughtcrime.securesms.contacts.ContactAccessor;
|
||||
import org.thoughtcrime.securesms.contacts.ContactAccessor.ContactData;
|
||||
import org.thoughtcrime.securesms.contacts.ContactAccessor.NumberData;
|
||||
@@ -59,7 +58,7 @@ import java.util.List;
|
||||
*
|
||||
*/
|
||||
|
||||
public class ContactSelectionListFragment extends SherlockListFragment
|
||||
public class ContactSelectionListFragment extends ListFragment
|
||||
implements LoaderManager.LoaderCallbacks<Cursor>
|
||||
{
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import android.content.Context;
|
||||
import android.database.Cursor;
|
||||
import android.os.Bundle;
|
||||
import android.provider.CallLog.Calls;
|
||||
import android.support.v4.app.ListFragment;
|
||||
import android.support.v4.app.LoaderManager;
|
||||
import android.support.v4.content.CursorLoader;
|
||||
import android.support.v4.content.Loader;
|
||||
@@ -34,8 +35,6 @@ import android.widget.ListView;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.actionbarsherlock.app.SherlockListFragment;
|
||||
|
||||
import org.thoughtcrime.securesms.contacts.ContactAccessor;
|
||||
import org.thoughtcrime.securesms.contacts.ContactAccessor.ContactData;
|
||||
import org.thoughtcrime.securesms.contacts.ContactAccessor.NumberData;
|
||||
@@ -55,7 +54,7 @@ import java.util.List;
|
||||
* @author Moxie Marlinspike
|
||||
*
|
||||
*/
|
||||
public class ContactSelectionRecentFragment extends SherlockListFragment
|
||||
public class ContactSelectionRecentFragment extends ListFragment
|
||||
implements LoaderManager.LoaderCallbacks<Cursor>
|
||||
{
|
||||
|
||||
|
||||
@@ -43,6 +43,9 @@ import android.util.Log;
|
||||
import android.view.ContextMenu;
|
||||
import android.view.ContextThemeWrapper;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.View.OnFocusChangeListener;
|
||||
@@ -54,9 +57,6 @@ import android.widget.ImageButton;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.actionbarsherlock.view.Menu;
|
||||
import com.actionbarsherlock.view.MenuInflater;
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
import com.google.protobuf.ByteString;
|
||||
|
||||
import org.thoughtcrime.securesms.components.EmojiDrawer;
|
||||
@@ -127,7 +127,7 @@ import static org.whispersystems.textsecure.push.PushMessageProtos.PushMessageCo
|
||||
* @author Moxie Marlinspike
|
||||
*
|
||||
*/
|
||||
public class ConversationActivity extends PassphraseRequiredSherlockFragmentActivity
|
||||
public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
||||
implements ConversationFragment.ConversationFragmentListener,
|
||||
AttachmentManager.AttachmentListener
|
||||
{
|
||||
@@ -257,7 +257,7 @@ public class ConversationActivity extends PassphraseRequiredSherlockFragmentActi
|
||||
|
||||
@Override
|
||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||
MenuInflater inflater = this.getSupportMenuInflater();
|
||||
MenuInflater inflater = this.getMenuInflater();
|
||||
menu.clear();
|
||||
|
||||
boolean pushRegistered = TextSecurePreferences.isPushRegistered(this);
|
||||
@@ -621,7 +621,7 @@ public class ConversationActivity extends PassphraseRequiredSherlockFragmentActi
|
||||
if (subtitle != null && !Util.isEmpty(subtitle))
|
||||
this.getSupportActionBar().setSubtitle(PhoneNumberUtils.formatNumber(subtitle));
|
||||
|
||||
this.invalidateOptionsMenu();
|
||||
this.supportInvalidateOptionsMenu();
|
||||
}
|
||||
|
||||
private void initializeDraft() {
|
||||
|
||||
@@ -8,11 +8,17 @@ import android.content.Intent;
|
||||
import android.database.Cursor;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.support.v4.app.ListFragment;
|
||||
import android.support.v4.app.LoaderManager;
|
||||
import android.support.v4.content.Loader;
|
||||
import android.support.v7.app.ActionBarActivity;
|
||||
import android.support.v7.view.ActionMode;
|
||||
import android.text.ClipboardManager;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.support.v4.widget.CursorAdapter;
|
||||
@@ -20,12 +26,6 @@ import android.widget.AdapterView;
|
||||
import android.widget.ListView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.actionbarsherlock.app.SherlockListFragment;
|
||||
import com.actionbarsherlock.view.ActionMode;
|
||||
import com.actionbarsherlock.view.Menu;
|
||||
import com.actionbarsherlock.view.MenuInflater;
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
|
||||
import org.thoughtcrime.securesms.database.DatabaseFactory;
|
||||
import org.thoughtcrime.securesms.database.loaders.ConversationLoader;
|
||||
import org.thoughtcrime.securesms.database.model.MediaMmsMessageRecord;
|
||||
@@ -44,7 +44,7 @@ import org.whispersystems.textsecure.util.FutureTaskListener;
|
||||
import java.sql.Date;
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
public class ConversationFragment extends SherlockListFragment
|
||||
public class ConversationFragment extends ListFragment
|
||||
implements LoaderManager.LoaderCallbacks<Cursor>
|
||||
{
|
||||
private static final String TAG = ConversationFragment.class.getSimpleName();
|
||||
@@ -104,7 +104,7 @@ public class ConversationFragment extends SherlockListFragment
|
||||
return false;
|
||||
}
|
||||
|
||||
actionMode = getSherlockActivity().startActionMode(actionModeCallback);
|
||||
actionMode = ((ActionBarActivity)getActivity()).startSupportActionMode(actionModeCallback);
|
||||
view.setSelected(true);
|
||||
return true;
|
||||
}
|
||||
@@ -209,12 +209,12 @@ public class ConversationFragment extends SherlockListFragment
|
||||
builder.setCancelable(true);
|
||||
|
||||
if (dateReceived == dateSent || message.isOutgoing()) {
|
||||
builder.setMessage(String.format(getSherlockActivity()
|
||||
builder.setMessage(String.format(getActivity()
|
||||
.getString(R.string.ConversationFragment_transport_s_sent_received_s),
|
||||
transport.toUpperCase(),
|
||||
dateFormatter.format(new Date(dateSent))));
|
||||
} else {
|
||||
builder.setMessage(String.format(getSherlockActivity()
|
||||
builder.setMessage(String.format(getActivity()
|
||||
.getString(R.string.ConversationFragment_sender_s_transport_s_sent_s_received_s),
|
||||
message.getIndividualRecipient().getNumber(),
|
||||
transport.toUpperCase(),
|
||||
|
||||
@@ -22,10 +22,21 @@ import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.provider.ContactsContract;
|
||||
import android.util.Log;
|
||||
|
||||
import com.actionbarsherlock.view.Menu;
|
||||
import com.actionbarsherlock.view.MenuInflater;
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
import android.provider.Telephony;
|
||||
import android.support.v4.app.ActionBarDrawerToggle;
|
||||
import android.support.v4.view.GravityCompat;
|
||||
import android.support.v4.view.MenuItemCompat;
|
||||
import android.support.v4.widget.DrawerLayout;
|
||||
import android.support.v7.widget.SearchView;
|
||||
import android.util.Log;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ListView;
|
||||
import android.widget.SimpleAdapter;
|
||||
|
||||
import org.thoughtcrime.securesms.service.DirectoryRefreshListener;
|
||||
import org.thoughtcrime.securesms.database.DatabaseFactory;
|
||||
@@ -41,7 +52,7 @@ import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||
import org.whispersystems.textsecure.crypto.MasterSecret;
|
||||
|
||||
|
||||
public class ConversationListActivity extends PassphraseRequiredSherlockFragmentActivity
|
||||
public class ConversationListActivity extends PassphraseRequiredActionBarActivity
|
||||
implements ConversationListFragment.ConversationSelectedListener
|
||||
{
|
||||
private final DynamicTheme dynamicTheme = new DynamicTheme ();
|
||||
@@ -97,17 +108,45 @@ public class ConversationListActivity extends PassphraseRequiredSherlockFragment
|
||||
|
||||
@Override
|
||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||
MenuInflater inflater = this.getSupportMenuInflater();
|
||||
MenuInflater inflater = this.getMenuInflater();
|
||||
menu.clear();
|
||||
|
||||
inflater.inflate(R.menu.text_secure_normal, menu);
|
||||
|
||||
menu.findItem(R.id.menu_clear_passphrase).setVisible(!TextSecurePreferences.isPasswordDisabled(this));
|
||||
|
||||
if (this.masterSecret != null) {
|
||||
inflater.inflate(R.menu.conversation_list, menu);
|
||||
MenuItem menuItem = menu.findItem(R.id.menu_search);
|
||||
SearchView searchView = (SearchView) MenuItemCompat.getActionView(menuItem);
|
||||
initializeSearch(searchView);
|
||||
} else {
|
||||
inflater.inflate(R.menu.conversation_list_empty, menu);
|
||||
}
|
||||
|
||||
super.onPrepareOptionsMenu(menu);
|
||||
return true;
|
||||
}
|
||||
|
||||
private void initializeSearch(SearchView searchView) {
|
||||
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
|
||||
@Override
|
||||
public boolean onQueryTextSubmit(String query) {
|
||||
ConversationListFragment fragment = (ConversationListFragment)getSupportFragmentManager()
|
||||
.findFragmentById(R.id.fragment_content);
|
||||
if (fragment != null) {
|
||||
fragment.setQueryFilter(query);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@Override
|
||||
public boolean onQueryTextChange(String newText) {
|
||||
return onQueryTextSubmit(newText);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
super.onOptionsItemSelected(item);
|
||||
@@ -221,7 +260,7 @@ public class ConversationListActivity extends PassphraseRequiredSherlockFragment
|
||||
this.masterSecret = getIntent().getParcelableExtra("master_secret");
|
||||
|
||||
this.fragment = (ConversationListFragment)this.getSupportFragmentManager()
|
||||
.findFragmentById(R.id.fragment_content);
|
||||
.findFragmentById(R.id.fragment_content);
|
||||
|
||||
this.fragment.setMasterSecret(masterSecret);
|
||||
}
|
||||
|
||||
@@ -23,22 +23,25 @@ import android.content.DialogInterface;
|
||||
import android.database.Cursor;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.ListFragment;
|
||||
import android.support.v4.app.LoaderManager;
|
||||
import android.support.v4.content.Loader;
|
||||
import android.text.TextUtils;
|
||||
import android.support.v4.view.MenuItemCompat;
|
||||
import android.support.v7.app.ActionBarActivity;
|
||||
import android.support.v7.view.ActionMode;
|
||||
import android.support.v7.widget.SearchView;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.CursorAdapter;
|
||||
import android.widget.ListView;
|
||||
|
||||
import com.actionbarsherlock.app.SherlockListFragment;
|
||||
import com.actionbarsherlock.view.ActionMode;
|
||||
import com.actionbarsherlock.view.Menu;
|
||||
import com.actionbarsherlock.view.MenuInflater;
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
import com.actionbarsherlock.widget.SearchView;
|
||||
|
||||
import org.thoughtcrime.securesms.components.DefaultSmsReminder;
|
||||
import org.thoughtcrime.securesms.components.PushRegistrationReminder;
|
||||
import org.thoughtcrime.securesms.components.ReminderView;
|
||||
@@ -53,7 +56,7 @@ import org.whispersystems.textsecure.crypto.MasterSecret;
|
||||
import java.util.Set;
|
||||
|
||||
|
||||
public class ConversationListFragment extends SherlockListFragment
|
||||
public class ConversationListFragment extends ListFragment
|
||||
implements LoaderManager.LoaderCallbacks<Cursor>, ActionMode.Callback
|
||||
{
|
||||
|
||||
@@ -102,20 +105,6 @@ public class ConversationListFragment extends SherlockListFragment
|
||||
this.listener = (ConversationSelectedListener)activity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPrepareOptionsMenu(Menu menu) {
|
||||
MenuInflater inflater = this.getSherlockActivity().getSupportMenuInflater();
|
||||
|
||||
if (this.masterSecret != null) {
|
||||
inflater.inflate(R.menu.conversation_list, menu);
|
||||
initializeSearch((SearchView)menu.findItem(R.id.menu_search).getActionView());
|
||||
} else {
|
||||
inflater.inflate(R.menu.conversation_list_empty, menu);
|
||||
}
|
||||
|
||||
super.onPrepareOptionsMenu(menu);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onListItemClick(ListView l, View v, int position, long id) {
|
||||
if (v instanceof ConversationListItem) {
|
||||
@@ -146,27 +135,15 @@ public class ConversationListFragment extends SherlockListFragment
|
||||
}
|
||||
}
|
||||
|
||||
private void setQueryFilter(String query) {
|
||||
public void setQueryFilter(String query) {
|
||||
this.queryFilter = query;
|
||||
getLoaderManager().restartLoader(0, null, this);
|
||||
}
|
||||
|
||||
private void initializeSearch(SearchView searchView) {
|
||||
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
|
||||
@Override
|
||||
public boolean onQueryTextSubmit(String query) {
|
||||
if (isAdded()) {
|
||||
setQueryFilter(query);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onQueryTextChange(String newText) {
|
||||
return onQueryTextSubmit(newText);
|
||||
}
|
||||
});
|
||||
public void resetQueryFilter() {
|
||||
if (!TextUtils.isEmpty(this.queryFilter)) {
|
||||
setQueryFilter("");
|
||||
}
|
||||
}
|
||||
|
||||
private void initializeBatchListener() {
|
||||
@@ -174,7 +151,7 @@ public class ConversationListFragment extends SherlockListFragment
|
||||
@Override
|
||||
public boolean onItemLongClick(AdapterView<?> arg0, View v, int position, long id) {
|
||||
ConversationListAdapter adapter = (ConversationListAdapter)getListAdapter();
|
||||
actionMode = getSherlockActivity().startActionMode(ConversationListFragment.this);
|
||||
actionMode = ((ActionBarActivity)getActivity()).startSupportActionMode(ConversationListFragment.this);
|
||||
|
||||
adapter.initializeBatchMode(true);
|
||||
adapter.toggleThreadInBatchSet(((ConversationListItem) v).getThreadId());
|
||||
@@ -223,8 +200,8 @@ public class ConversationListFragment extends SherlockListFragment
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
dialog = ProgressDialog.show(getActivity(),
|
||||
getSherlockActivity().getString(R.string.ConversationListFragment_deleting),
|
||||
getSherlockActivity().getString(R.string.ConversationListFragment_deleting_selected_threads),
|
||||
getActivity().getString(R.string.ConversationListFragment_deleting),
|
||||
getActivity().getString(R.string.ConversationListFragment_deleting_selected_threads),
|
||||
true, false);
|
||||
}
|
||||
|
||||
@@ -289,7 +266,7 @@ public class ConversationListFragment extends SherlockListFragment
|
||||
|
||||
@Override
|
||||
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
|
||||
MenuInflater inflater = getSherlockActivity().getSupportMenuInflater();
|
||||
MenuInflater inflater = getActivity().getMenuInflater();
|
||||
inflater.inflate(R.menu.conversation_list_batch, menu);
|
||||
|
||||
mode.setTitle(R.string.conversation_fragment_cab__batch_selection_mode);
|
||||
|
||||
@@ -3,11 +3,11 @@ package org.thoughtcrime.securesms;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.FragmentActivity;
|
||||
|
||||
import com.actionbarsherlock.app.SherlockFragmentActivity;
|
||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
||||
|
||||
public class CountrySelectionActivity extends SherlockFragmentActivity
|
||||
public class CountrySelectionActivity extends FragmentActivity
|
||||
implements CountrySelectionFragment.CountrySelectedListener
|
||||
|
||||
{
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.thoughtcrime.securesms;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.ListFragment;
|
||||
import android.support.v4.app.LoaderManager;
|
||||
import android.support.v4.content.Loader;
|
||||
import android.text.Editable;
|
||||
@@ -13,14 +14,13 @@ import android.widget.EditText;
|
||||
import android.widget.ListView;
|
||||
import android.widget.SimpleAdapter;
|
||||
|
||||
import com.actionbarsherlock.app.SherlockListFragment;
|
||||
|
||||
import org.thoughtcrime.securesms.database.loaders.CountryListLoader;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Map;
|
||||
|
||||
public class CountrySelectionFragment extends SherlockListFragment implements LoaderManager.LoaderCallbacks<ArrayList<Map<String, String>>> {
|
||||
public class CountrySelectionFragment extends ListFragment implements LoaderManager.LoaderCallbacks<ArrayList<Map<String, String>>> {
|
||||
|
||||
private EditText countryFilter;
|
||||
private CountrySelectedListener listener;
|
||||
|
||||
@@ -20,7 +20,7 @@ import org.thoughtcrime.securesms.database.SmsMigrator.ProgressDescription;
|
||||
import org.thoughtcrime.securesms.service.ApplicationMigrationService;
|
||||
import org.thoughtcrime.securesms.service.ApplicationMigrationService.ImportState;
|
||||
|
||||
public class DatabaseMigrationActivity extends PassphraseRequiredSherlockActivity {
|
||||
public class DatabaseMigrationActivity extends PassphraseRequiredActionBarActivity {
|
||||
|
||||
private final ImportServiceConnection serviceConnection = new ImportServiceConnection();
|
||||
private final ImportStateHandler importStateHandler = new ImportStateHandler();
|
||||
|
||||
@@ -7,13 +7,13 @@ import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.actionbarsherlock.app.SherlockFragment;
|
||||
import org.whispersystems.textsecure.crypto.MasterSecret;
|
||||
import org.thoughtcrime.securesms.util.Dialogs;
|
||||
//import org.thoughtcrime.securesms.database.EncryptedBackupExporter;
|
||||
@@ -23,7 +23,7 @@ import org.thoughtcrime.securesms.database.PlaintextBackupExporter;
|
||||
import java.io.IOException;
|
||||
|
||||
|
||||
public class ExportFragment extends SherlockFragment {
|
||||
public class ExportFragment extends Fragment {
|
||||
|
||||
private static final int SUCCESS = 0;
|
||||
private static final int NO_SD_CARD = 1;
|
||||
|
||||
@@ -31,6 +31,9 @@ import android.text.TextUtils;
|
||||
import android.text.TextWatcher;
|
||||
import android.util.Log;
|
||||
import android.util.Pair;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
@@ -38,9 +41,6 @@ import android.widget.ListView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.actionbarsherlock.view.Menu;
|
||||
import com.actionbarsherlock.view.MenuInflater;
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
import com.google.protobuf.ByteString;
|
||||
|
||||
import org.thoughtcrime.securesms.components.PushRecipientsPanel;
|
||||
@@ -88,7 +88,7 @@ import static org.whispersystems.textsecure.push.PushMessageProtos.PushMessageCo
|
||||
*
|
||||
* @author Jake McGinty
|
||||
*/
|
||||
public class GroupCreateActivity extends PassphraseRequiredSherlockFragmentActivity {
|
||||
public class GroupCreateActivity extends PassphraseRequiredActionBarActivity {
|
||||
|
||||
private final static String TAG = GroupCreateActivity.class.getSimpleName();
|
||||
|
||||
@@ -294,7 +294,7 @@ public class GroupCreateActivity extends PassphraseRequiredSherlockFragmentActiv
|
||||
|
||||
@Override
|
||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||
MenuInflater inflater = this.getSupportMenuInflater();
|
||||
MenuInflater inflater = this.getMenuInflater();
|
||||
menu.clear();
|
||||
|
||||
inflater.inflate(R.menu.group_create, menu);
|
||||
|
||||
@@ -6,14 +6,13 @@ import android.support.v4.app.FragmentManager;
|
||||
import android.support.v4.app.FragmentStatePagerAdapter;
|
||||
import android.support.v4.app.FragmentTransaction;
|
||||
import android.support.v4.view.ViewPager;
|
||||
|
||||
import com.actionbarsherlock.app.ActionBar;
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
import android.support.v7.app.ActionBar;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import org.whispersystems.textsecure.crypto.MasterSecret;
|
||||
|
||||
|
||||
public class ImportExportActivity extends PassphraseRequiredSherlockFragmentActivity {
|
||||
public class ImportExportActivity extends PassphraseRequiredActionBarActivity {
|
||||
|
||||
private TabPagerAdapter tabPagerAdapter;
|
||||
private ViewPager viewPager;
|
||||
|
||||
@@ -7,13 +7,13 @@ import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.actionbarsherlock.app.SherlockFragment;
|
||||
import org.whispersystems.textsecure.crypto.MasterSecret;
|
||||
import org.thoughtcrime.securesms.util.Dialogs;
|
||||
import org.thoughtcrime.securesms.database.EncryptedBackupExporter;
|
||||
@@ -26,7 +26,7 @@ import org.thoughtcrime.securesms.service.KeyCachingService;
|
||||
import java.io.IOException;
|
||||
|
||||
|
||||
public class ImportFragment extends SherlockFragment {
|
||||
public class ImportFragment extends Fragment {
|
||||
|
||||
private static final int SUCCESS = 0;
|
||||
private static final int NO_SD_CARD = 1;
|
||||
|
||||
@@ -18,6 +18,9 @@ package org.thoughtcrime.securesms;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.widget.Toast;
|
||||
|
||||
import org.whispersystems.libaxolotl.IdentityKey;
|
||||
@@ -25,9 +28,6 @@ import org.whispersystems.textsecure.util.Base64;
|
||||
import org.thoughtcrime.securesms.util.Dialogs;
|
||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
||||
|
||||
import com.actionbarsherlock.view.Menu;
|
||||
import com.actionbarsherlock.view.MenuInflater;
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
import org.whispersystems.textsecure.zxing.integration.IntentIntegrator;
|
||||
import org.whispersystems.textsecure.zxing.integration.IntentResult;
|
||||
|
||||
@@ -36,7 +36,7 @@ import org.whispersystems.textsecure.zxing.integration.IntentResult;
|
||||
*
|
||||
* @author Moxie Marlinspike
|
||||
*/
|
||||
public abstract class KeyScanningActivity extends PassphraseRequiredSherlockActivity {
|
||||
public abstract class KeyScanningActivity extends PassphraseRequiredActionBarActivity {
|
||||
|
||||
private final DynamicTheme dynamicTheme = new DynamicTheme();
|
||||
|
||||
@@ -56,7 +56,7 @@ public abstract class KeyScanningActivity extends PassphraseRequiredSherlockActi
|
||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||
super.onPrepareOptionsMenu(menu);
|
||||
|
||||
MenuInflater inflater = this.getSupportMenuInflater();
|
||||
MenuInflater inflater = this.getMenuInflater();
|
||||
menu.clear();
|
||||
|
||||
inflater.inflate(R.menu.key_scanning, menu);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.thoughtcrime.securesms;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.support.v7.app.ActionBarActivity;
|
||||
import android.text.ClipboardManager;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.AsyncTask;
|
||||
@@ -8,14 +9,13 @@ import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.util.TypedValue;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.actionbarsherlock.app.SherlockActivity;
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
import com.google.thoughtcrimegson.Gson;
|
||||
import com.google.thoughtcrimegson.JsonIOException;
|
||||
import com.google.thoughtcrimegson.JsonSyntaxException;
|
||||
@@ -38,7 +38,7 @@ import java.util.Map;
|
||||
/**
|
||||
* Activity for submitting logcat logs to a pastebin service.
|
||||
*/
|
||||
public class LogSubmitActivity extends SherlockActivity {
|
||||
public class LogSubmitActivity extends ActionBarActivity {
|
||||
private static final String TAG = LogSubmitActivity.class.getSimpleName();
|
||||
|
||||
private static final String HASTEBIN_ENDPOINT = "http://hastebin.com/documents";
|
||||
|
||||
@@ -25,21 +25,19 @@ import android.os.Build.VERSION;
|
||||
import android.os.Build.VERSION_CODES;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.actionbarsherlock.view.Menu;
|
||||
import com.actionbarsherlock.view.MenuInflater;
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
|
||||
import org.thoughtcrime.securesms.database.DatabaseFactory;
|
||||
import org.thoughtcrime.securesms.providers.PartProvider;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.util.DateUtils;
|
||||
import org.thoughtcrime.securesms.util.DynamicLanguage;
|
||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
||||
import org.thoughtcrime.securesms.util.SaveAttachmentTask;
|
||||
import org.thoughtcrime.securesms.util.SaveAttachmentTask.Attachment;
|
||||
import org.whispersystems.textsecure.crypto.MasterSecret;
|
||||
@@ -52,14 +50,13 @@ import uk.co.senab.photoview.PhotoViewAttacher;
|
||||
/**
|
||||
* Activity for displaying media attachments in-app
|
||||
*/
|
||||
public class MediaPreviewActivity extends PassphraseRequiredSherlockActivity {
|
||||
public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity {
|
||||
private final static String TAG = MediaPreviewActivity.class.getSimpleName();
|
||||
|
||||
public final static String MASTER_SECRET_EXTRA = "master_secret";
|
||||
public final static String RECIPIENT_EXTRA = "recipient";
|
||||
public final static String DATE_EXTRA = "date";
|
||||
|
||||
private final DynamicTheme dynamicTheme = new DynamicTheme();
|
||||
private final DynamicLanguage dynamicLanguage = new DynamicLanguage();
|
||||
|
||||
private MasterSecret masterSecret;
|
||||
@@ -76,17 +73,17 @@ public class MediaPreviewActivity extends PassphraseRequiredSherlockActivity {
|
||||
setFullscreenIfPossible();
|
||||
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
|
||||
WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
dynamicTheme.onCreate(this);
|
||||
dynamicLanguage.onCreate(this);
|
||||
this.setTheme(R.style.TextSecure_DarkTheme);
|
||||
super.onCreate(bundle);
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
setContentView(R.layout.media_preview_activity);
|
||||
initializeResources();
|
||||
}
|
||||
|
||||
@TargetApi(VERSION_CODES.HONEYCOMB)
|
||||
@TargetApi(VERSION_CODES.JELLY_BEAN)
|
||||
private void setFullscreenIfPossible() {
|
||||
if (VERSION.SDK_INT >= VERSION_CODES.HONEYCOMB) {
|
||||
if (VERSION.SDK_INT >= VERSION_CODES.JELLY_BEAN) {
|
||||
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
|
||||
}
|
||||
}
|
||||
@@ -94,11 +91,9 @@ public class MediaPreviewActivity extends PassphraseRequiredSherlockActivity {
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
dynamicTheme.onResume(this);
|
||||
dynamicLanguage.onResume(this);
|
||||
|
||||
masterSecret = getIntent().getParcelableExtra(MASTER_SECRET_EXTRA);
|
||||
|
||||
mediaUri = getIntent().getData();
|
||||
mediaType = getIntent().getType();
|
||||
recipient = getIntent().getParcelableExtra(RECIPIENT_EXTRA);
|
||||
@@ -175,7 +170,7 @@ public class MediaPreviewActivity extends PassphraseRequiredSherlockActivity {
|
||||
super.onPrepareOptionsMenu(menu);
|
||||
|
||||
menu.clear();
|
||||
MenuInflater inflater = this.getSupportMenuInflater();
|
||||
MenuInflater inflater = this.getMenuInflater();
|
||||
inflater.inflate(R.menu.media_preview, menu);
|
||||
|
||||
return true;
|
||||
|
||||
@@ -18,21 +18,18 @@ package org.thoughtcrime.securesms;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.preference.EditTextPreference;
|
||||
import android.preference.Preference;
|
||||
import android.widget.Toast;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.support.v4.app.FragmentTransaction;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
|
||||
import org.thoughtcrime.securesms.mms.IncomingMmsConnection;
|
||||
import org.thoughtcrime.securesms.service.SendReceiveService;
|
||||
import org.thoughtcrime.securesms.util.DynamicLanguage;
|
||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
||||
import org.thoughtcrime.securesms.util.MemoryCleaner;
|
||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||
import org.whispersystems.textsecure.crypto.MasterSecret;
|
||||
|
||||
public class MmsPreferencesActivity extends PassphraseRequiredSherlockPreferenceActivity {
|
||||
public class MmsPreferencesActivity extends PassphraseRequiredActionBarActivity {
|
||||
|
||||
private MasterSecret masterSecret;
|
||||
|
||||
@@ -46,11 +43,15 @@ public class MmsPreferencesActivity extends PassphraseRequiredSherlockPreference
|
||||
super.onCreate(icicle);
|
||||
|
||||
this.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
initializePreferences();
|
||||
|
||||
masterSecret = getIntent().getParcelableExtra("master_secret");
|
||||
|
||||
initializeEditTextSummaries();
|
||||
Fragment fragment = new MmsPreferencesFragment();
|
||||
FragmentManager fragmentManager = getSupportFragmentManager();
|
||||
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
|
||||
fragmentTransaction.replace(android.R.id.content, fragment);
|
||||
fragmentTransaction.commit();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -85,51 +86,9 @@ public class MmsPreferencesActivity extends PassphraseRequiredSherlockPreference
|
||||
super.onBackPressed();
|
||||
}
|
||||
|
||||
private void initializePreferences() {
|
||||
if (!IncomingMmsConnection.isConnectionPossible(this, null)) {
|
||||
TextSecurePreferences.setUseLocalApnsEnabled(this, true);
|
||||
addPreferencesFromResource(R.xml.mms_preferences);
|
||||
this.findPreference(TextSecurePreferences.ENABLE_MANUAL_MMS_PREF).setOnPreferenceChangeListener(new OverrideMmsChangeListener());
|
||||
} else {
|
||||
addPreferencesFromResource(R.xml.mms_preferences);
|
||||
}
|
||||
}
|
||||
|
||||
private void initializeEditTextSummary(final EditTextPreference preference) {
|
||||
if (preference.getText() == null) {
|
||||
preference.setSummary("Not set");
|
||||
} else {
|
||||
preference.setSummary(preference.getText());
|
||||
}
|
||||
|
||||
preference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference pref, Object newValue) {
|
||||
preference.setSummary(newValue == null ? "Not set" : ((String) newValue));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void initializeEditTextSummaries() {
|
||||
initializeEditTextSummary((EditTextPreference)this.findPreference(TextSecurePreferences.MMSC_HOST_PREF));
|
||||
initializeEditTextSummary((EditTextPreference)this.findPreference(TextSecurePreferences.MMSC_PROXY_HOST_PREF));
|
||||
initializeEditTextSummary((EditTextPreference)this.findPreference(TextSecurePreferences.MMSC_PROXY_PORT_PREF));
|
||||
}
|
||||
|
||||
private void handleDownloadMmsPendingApn() {
|
||||
Intent intent = new Intent(this, SendReceiveService.class);
|
||||
intent.setAction(SendReceiveService.DOWNLOAD_MMS_PENDING_APN_ACTION);
|
||||
startService(intent);
|
||||
}
|
||||
|
||||
private class OverrideMmsChangeListener implements Preference.OnPreferenceChangeListener {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object o) {
|
||||
TextSecurePreferences.setUseLocalApnsEnabled(MmsPreferencesActivity.this, true);
|
||||
Toast.makeText(MmsPreferencesActivity.this, R.string.mms_preferences_activity__manual_mms_settings_are_required, Toast.LENGTH_SHORT).show();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
78
src/org/thoughtcrime/securesms/MmsPreferencesFragment.java
Normal file
78
src/org/thoughtcrime/securesms/MmsPreferencesFragment.java
Normal file
@@ -0,0 +1,78 @@
|
||||
/**
|
||||
* Copyright (C) 2014 Open Whisper Systems
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.thoughtcrime.securesms;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.preference.EditTextPreference;
|
||||
import android.preference.Preference;
|
||||
import android.support.v4.preference.PreferenceFragment;
|
||||
import android.widget.Toast;
|
||||
|
||||
import org.thoughtcrime.securesms.mms.OutgoingMmsConnection;
|
||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||
|
||||
|
||||
public class MmsPreferencesFragment extends PreferenceFragment {
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle paramBundle) {
|
||||
super.onCreate(paramBundle);
|
||||
initializePreferences();
|
||||
initializeEditTextSummaries();
|
||||
}
|
||||
|
||||
private void initializePreferences() {
|
||||
if (!OutgoingMmsConnection.isConnectionPossible(getActivity())) {
|
||||
TextSecurePreferences.setUseLocalApnsEnabled(getActivity(), true);
|
||||
addPreferencesFromResource(R.xml.mms_preferences);
|
||||
this.findPreference(TextSecurePreferences.ENABLE_MANUAL_MMS_PREF).setOnPreferenceChangeListener(new OverrideMmsChangeListener());
|
||||
} else {
|
||||
addPreferencesFromResource(R.xml.mms_preferences);
|
||||
}
|
||||
}
|
||||
|
||||
private void initializeEditTextSummary(final EditTextPreference preference) {
|
||||
if (preference.getText() == null) {
|
||||
preference.setSummary("Not set");
|
||||
} else {
|
||||
preference.setSummary(preference.getText());
|
||||
}
|
||||
|
||||
preference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference pref, Object newValue) {
|
||||
preference.setSummary(newValue == null ? "Not set" : ((String) newValue));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void initializeEditTextSummaries() {
|
||||
initializeEditTextSummary((EditTextPreference)this.findPreference(TextSecurePreferences.MMSC_HOST_PREF));
|
||||
initializeEditTextSummary((EditTextPreference)this.findPreference(TextSecurePreferences.MMSC_PROXY_HOST_PREF));
|
||||
initializeEditTextSummary((EditTextPreference)this.findPreference(TextSecurePreferences.MMSC_PROXY_PORT_PREF));
|
||||
}
|
||||
|
||||
private class OverrideMmsChangeListener implements Preference.OnPreferenceChangeListener {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object o) {
|
||||
TextSecurePreferences.setUseLocalApnsEnabled(getActivity(), true);
|
||||
Toast.makeText(getActivity(), R.string.mms_preferences_activity__manual_mms_settings_are_required, Toast.LENGTH_SHORT).show();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -19,10 +19,9 @@ package org.thoughtcrime.securesms;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
|
||||
import com.actionbarsherlock.view.Menu;
|
||||
import com.actionbarsherlock.view.MenuInflater;
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import org.thoughtcrime.securesms.contacts.ContactAccessor;
|
||||
import org.thoughtcrime.securesms.database.DatabaseFactory;
|
||||
@@ -50,7 +49,7 @@ import static org.thoughtcrime.securesms.contacts.ContactAccessor.ContactData;
|
||||
* @author Moxie Marlinspike
|
||||
*
|
||||
*/
|
||||
public class NewConversationActivity extends PassphraseRequiredSherlockFragmentActivity {
|
||||
public class NewConversationActivity extends PassphraseRequiredActionBarActivity {
|
||||
private final static String TAG = "ContactSelectActivity";
|
||||
public final static String MASTER_SECRET_EXTRA = "master_secret";
|
||||
|
||||
@@ -83,7 +82,7 @@ public class NewConversationActivity extends PassphraseRequiredSherlockFragmentA
|
||||
|
||||
@Override
|
||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||
MenuInflater inflater = this.getSupportMenuInflater();
|
||||
MenuInflater inflater = this.getMenuInflater();
|
||||
menu.clear();
|
||||
|
||||
if (TextSecurePreferences.isPushRegistered(this)) inflater.inflate(R.menu.push_directory, menu);
|
||||
|
||||
@@ -21,19 +21,19 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.ServiceConnection;
|
||||
import android.os.IBinder;
|
||||
import android.support.v7.app.ActionBarActivity;
|
||||
|
||||
import org.whispersystems.textsecure.crypto.MasterSecret;
|
||||
import org.thoughtcrime.securesms.service.KeyCachingService;
|
||||
import org.thoughtcrime.securesms.util.MemoryCleaner;
|
||||
|
||||
import com.actionbarsherlock.app.SherlockActivity;
|
||||
|
||||
/**
|
||||
* Base Activity for changing/prompting local encryption passphrase.
|
||||
*
|
||||
* @author Moxie Marlinspike
|
||||
*/
|
||||
public abstract class PassphraseActivity extends SherlockActivity {
|
||||
public abstract class PassphraseActivity extends ActionBarActivity {
|
||||
|
||||
private KeyCachingService keyCachingService;
|
||||
private MasterSecret masterSecret;
|
||||
|
||||
@@ -20,13 +20,7 @@ import android.graphics.drawable.Drawable;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.actionbarsherlock.app.ActionBar;
|
||||
import android.support.v7.app.ActionBar;
|
||||
|
||||
import org.thoughtcrime.securesms.crypto.IdentityKeyUtil;
|
||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||
|
||||
@@ -20,6 +20,7 @@ import android.content.Intent;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.app.ActionBar;
|
||||
import android.text.Editable;
|
||||
import android.text.SpannableString;
|
||||
import android.text.Spanned;
|
||||
@@ -27,6 +28,9 @@ import android.text.style.ForegroundColorSpan;
|
||||
import android.text.style.RelativeSizeSpan;
|
||||
import android.text.style.TypefaceSpan;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
@@ -35,11 +39,6 @@ import android.widget.ImageButton;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.actionbarsherlock.app.ActionBar;
|
||||
import com.actionbarsherlock.view.Menu;
|
||||
import com.actionbarsherlock.view.MenuInflater;
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
|
||||
import org.thoughtcrime.securesms.crypto.InvalidPassphraseException;
|
||||
import org.thoughtcrime.securesms.crypto.MasterSecretUtil;
|
||||
import org.thoughtcrime.securesms.util.MemoryCleaner;
|
||||
@@ -65,7 +64,7 @@ public class PassphrasePromptActivity extends PassphraseActivity {
|
||||
|
||||
@Override
|
||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||
MenuInflater inflater = this.getSupportMenuInflater();
|
||||
MenuInflater inflater = this.getMenuInflater();
|
||||
menu.clear();
|
||||
|
||||
inflater.inflate(R.menu.log_submit, menu);
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
package org.thoughtcrime.securesms;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.app.ActionBarActivity;
|
||||
|
||||
import org.whispersystems.textsecure.crypto.MasterSecret;
|
||||
|
||||
import com.actionbarsherlock.app.SherlockActivity;
|
||||
|
||||
public class PassphraseRequiredSherlockActivity extends SherlockActivity implements PassphraseRequiredActivity {
|
||||
public class PassphraseRequiredActionBarActivity extends ActionBarActivity implements PassphraseRequiredActivity {
|
||||
|
||||
private final PassphraseRequiredMixin delegate = new PassphraseRequiredMixin();
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
package org.thoughtcrime.securesms;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import org.whispersystems.textsecure.crypto.MasterSecret;
|
||||
|
||||
import com.actionbarsherlock.app.SherlockFragmentActivity;
|
||||
|
||||
public class PassphraseRequiredSherlockFragmentActivity extends SherlockFragmentActivity implements PassphraseRequiredActivity {
|
||||
|
||||
private final PassphraseRequiredMixin delegate = new PassphraseRequiredMixin();
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
delegate.onCreate(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
delegate.onResume(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
delegate.onPause(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
delegate.onDestroy(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMasterSecretCleared() {
|
||||
finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNewMasterSecret(MasterSecret masterSecret) {}
|
||||
}
|
||||
@@ -1,12 +1,12 @@
|
||||
package org.thoughtcrime.securesms;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.app.ActionBarActivity;
|
||||
|
||||
import org.whispersystems.textsecure.crypto.MasterSecret;
|
||||
|
||||
import com.actionbarsherlock.app.SherlockListActivity;
|
||||
|
||||
public class PassphraseRequiredSherlockListActivity extends SherlockListActivity implements PassphraseRequiredActivity {
|
||||
public class PassphraseRequiredSherlockListActivity extends ActionBarListActivity implements PassphraseRequiredActivity {
|
||||
|
||||
private final PassphraseRequiredMixin delegate = new PassphraseRequiredMixin();
|
||||
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
package org.thoughtcrime.securesms;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import org.whispersystems.textsecure.crypto.MasterSecret;
|
||||
|
||||
import com.actionbarsherlock.app.SherlockPreferenceActivity;
|
||||
|
||||
public abstract class PassphraseRequiredSherlockPreferenceActivity
|
||||
extends SherlockPreferenceActivity
|
||||
implements PassphraseRequiredActivity
|
||||
{
|
||||
|
||||
private final PassphraseRequiredMixin delegate = new PassphraseRequiredMixin();
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
delegate.onCreate(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
delegate.onResume(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
delegate.onPause(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
delegate.onDestroy(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMasterSecretCleared() {
|
||||
finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNewMasterSecret(MasterSecret masterSecret) {}
|
||||
|
||||
}
|
||||
@@ -5,7 +5,7 @@ import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
|
||||
public class PromptMmsActivity extends PassphraseRequiredSherlockActivity {
|
||||
public class PromptMmsActivity extends PassphraseRequiredActionBarActivity {
|
||||
|
||||
private Button okButton;
|
||||
private Button cancelButton;
|
||||
|
||||
@@ -19,15 +19,15 @@ package org.thoughtcrime.securesms;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import org.thoughtcrime.securesms.util.DirectoryHelper;
|
||||
import org.thoughtcrime.securesms.util.DynamicLanguage;
|
||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||
|
||||
import com.actionbarsherlock.view.Menu;
|
||||
import com.actionbarsherlock.view.MenuInflater;
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -40,7 +40,7 @@ import static org.thoughtcrime.securesms.contacts.ContactAccessor.ContactData;
|
||||
* @author Moxie Marlinspike
|
||||
*
|
||||
*/
|
||||
public class PushContactSelectionActivity extends PassphraseRequiredSherlockFragmentActivity {
|
||||
public class PushContactSelectionActivity extends PassphraseRequiredActionBarActivity {
|
||||
private final static String TAG = "ContactSelectActivity";
|
||||
public final static String PUSH_ONLY_EXTRA = "push_only";
|
||||
|
||||
@@ -71,7 +71,7 @@ public class PushContactSelectionActivity extends PassphraseRequiredSherlockFrag
|
||||
|
||||
@Override
|
||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||
MenuInflater inflater = this.getSupportMenuInflater();
|
||||
MenuInflater inflater = this.getMenuInflater();
|
||||
menu.clear();
|
||||
|
||||
if (TextSecurePreferences.isPushRegistered(this)) inflater.inflate(R.menu.push_directory, menu);
|
||||
|
||||
@@ -5,6 +5,7 @@ import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.app.ActionBarActivity;
|
||||
import android.telephony.TelephonyManager;
|
||||
import android.text.Editable;
|
||||
import android.text.TextWatcher;
|
||||
@@ -17,7 +18,6 @@ import android.widget.Spinner;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.actionbarsherlock.app.SherlockActivity;
|
||||
import com.google.android.gms.common.ConnectionResult;
|
||||
import com.google.android.gms.common.GooglePlayServicesUtil;
|
||||
import com.google.i18n.phonenumbers.AsYouTypeFormatter;
|
||||
@@ -38,7 +38,7 @@ import org.whispersystems.textsecure.util.Util;
|
||||
* @author Moxie Marlinspike
|
||||
*
|
||||
*/
|
||||
public class RegistrationActivity extends SherlockActivity {
|
||||
public class RegistrationActivity extends ActionBarActivity {
|
||||
|
||||
private static final int PICK_COUNTRY = 1;
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
package org.thoughtcrime.securesms;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.app.ActionBarActivity;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
|
||||
import com.actionbarsherlock.app.SherlockActivity;
|
||||
|
||||
public class RegistrationProblemsActivity extends SherlockActivity {
|
||||
public class RegistrationProblemsActivity extends ActionBarActivity {
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle bundle) {
|
||||
|
||||
@@ -13,6 +13,7 @@ import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.IBinder;
|
||||
import android.os.Message;
|
||||
import android.support.v7.app.ActionBarActivity;
|
||||
import android.text.SpannableString;
|
||||
import android.text.Spanned;
|
||||
import android.text.method.LinkMovementMethod;
|
||||
@@ -28,7 +29,6 @@ import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.actionbarsherlock.app.SherlockActivity;
|
||||
|
||||
import org.thoughtcrime.securesms.push.PushServiceSocketFactory;
|
||||
import org.thoughtcrime.securesms.service.RegistrationService;
|
||||
@@ -45,7 +45,7 @@ import java.io.IOException;
|
||||
|
||||
import static org.thoughtcrime.securesms.service.RegistrationService.RegistrationState;
|
||||
|
||||
public class RegistrationProgressActivity extends SherlockActivity {
|
||||
public class RegistrationProgressActivity extends ActionBarActivity {
|
||||
|
||||
private static final int FOCUSED_COLOR = Color.parseColor("#ff333333");
|
||||
private static final int UNFOCUSED_COLOR = Color.parseColor("#ff808080");
|
||||
|
||||
@@ -12,7 +12,7 @@ import org.thoughtcrime.securesms.recipients.Recipients;
|
||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||
import org.whispersystems.textsecure.crypto.MasterSecret;
|
||||
|
||||
public class RoutingActivity extends PassphraseRequiredSherlockActivity {
|
||||
public class RoutingActivity extends PassphraseRequiredActionBarActivity {
|
||||
|
||||
private static final int STATE_CREATE_PASSPHRASE = 1;
|
||||
private static final int STATE_PROMPT_PASSPHRASE = 2;
|
||||
|
||||
@@ -21,12 +21,11 @@ import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import com.actionbarsherlock.view.Menu;
|
||||
import com.actionbarsherlock.view.MenuInflater;
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
|
||||
import org.thoughtcrime.securesms.recipients.Recipients;
|
||||
import org.thoughtcrime.securesms.util.DynamicLanguage;
|
||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
||||
@@ -39,7 +38,7 @@ import org.whispersystems.textsecure.crypto.MasterSecret;
|
||||
*
|
||||
* @author Jake McGinty
|
||||
*/
|
||||
public class ShareActivity extends PassphraseRequiredSherlockFragmentActivity
|
||||
public class ShareActivity extends PassphraseRequiredActionBarActivity
|
||||
implements ShareFragment.ConversationSelectedListener
|
||||
{
|
||||
public final static String MASTER_SECRET_EXTRA = "master_secret";
|
||||
@@ -88,7 +87,7 @@ public class ShareActivity extends PassphraseRequiredSherlockFragmentActivity
|
||||
|
||||
@Override
|
||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||
MenuInflater inflater = this.getSupportMenuInflater();
|
||||
MenuInflater inflater = this.getMenuInflater();
|
||||
menu.clear();
|
||||
|
||||
inflater.inflate(R.menu.share, menu);
|
||||
|
||||
@@ -19,6 +19,7 @@ package org.thoughtcrime.securesms;
|
||||
import android.app.Activity;
|
||||
import android.database.Cursor;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.ListFragment;
|
||||
import android.support.v4.app.LoaderManager;
|
||||
import android.support.v4.content.Loader;
|
||||
import android.support.v4.widget.CursorAdapter;
|
||||
@@ -27,7 +28,6 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ListView;
|
||||
|
||||
import com.actionbarsherlock.app.SherlockListFragment;
|
||||
|
||||
import org.thoughtcrime.securesms.database.loaders.ConversationListLoader;
|
||||
import org.thoughtcrime.securesms.recipients.Recipients;
|
||||
@@ -38,7 +38,7 @@ import org.whispersystems.textsecure.crypto.MasterSecret;
|
||||
*
|
||||
* @author Jake McGinty
|
||||
*/
|
||||
public class ShareFragment extends SherlockListFragment implements LoaderManager.LoaderCallbacks<Cursor> {
|
||||
public class ShareFragment extends ListFragment implements LoaderManager.LoaderCallbacks<Cursor> {
|
||||
|
||||
private ConversationSelectedListener listener;
|
||||
private MasterSecret masterSecret;
|
||||
|
||||
@@ -18,10 +18,10 @@
|
||||
package org.thoughtcrime.securesms;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import com.actionbarsherlock.view.Menu;
|
||||
import com.actionbarsherlock.view.MenuInflater;
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.widget.Toast;
|
||||
|
||||
import org.thoughtcrime.securesms.crypto.IdentityKeyUtil;
|
||||
import org.whispersystems.textsecure.crypto.IdentityKeyParcelable;
|
||||
@@ -45,7 +45,7 @@ public class ViewLocalIdentityActivity extends ViewIdentityActivity {
|
||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||
super.onPrepareOptionsMenu(menu);
|
||||
|
||||
MenuInflater inflater = this.getSupportMenuInflater();
|
||||
MenuInflater inflater = this.getMenuInflater();
|
||||
inflater.inflate(R.menu.local_identity, menu);
|
||||
|
||||
return true;
|
||||
|
||||
@@ -31,13 +31,7 @@ public class DynamicTheme {
|
||||
private static int getSelectedTheme(Activity activity) {
|
||||
String theme = TextSecurePreferences.getTheme(activity);
|
||||
|
||||
if (theme.equals("light")) {
|
||||
if (activity instanceof ConversationActivity) return R.style.TextSecure_LightTheme_ConversationActivity;
|
||||
else return R.style.TextSecure_LightTheme;
|
||||
} else if (theme.equals("dark")) {
|
||||
if (activity instanceof ConversationActivity) return R.style.TextSecure_DarkTheme_ConversationActivity;
|
||||
else return R.style.TextSecure_DarkTheme;
|
||||
}
|
||||
if (theme.equals("dark")) return R.style.TextSecure_DarkTheme;
|
||||
|
||||
return R.style.TextSecure_LightTheme;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user