Configurable language, part 2

This commit is contained in:
str4d
2015-05-29 03:14:35 +00:00
parent af7e7c2581
commit c0948f7f69
17 changed files with 58 additions and 104 deletions

View File

@@ -0,0 +1,30 @@
package i2p.bote.android;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import i2p.bote.android.util.LocaleManager;
public class BoteActivityBase extends AppCompatActivity {
private final LocaleManager localeManager = new LocaleManager();
@Override
protected void onCreate(Bundle savedInstanceState) {
localeManager.onCreate(this);
super.onCreate(savedInstanceState);
// Initialize I2P settings
InitActivities init = new InitActivities(this);
init.initialize();
}
@Override
public void onResume() {
super.onResume();
localeManager.onResume(this);
}
public void notifyLocaleChanged() {
localeManager.onResume(this);
}
}

View File

@@ -17,7 +17,6 @@ import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
@@ -45,7 +44,7 @@ import i2p.bote.folder.EmailFolder;
import i2p.bote.folder.FolderListener;
import i2p.bote.network.NetworkStatusListener;
public class EmailListActivity extends AppCompatActivity implements
public class EmailListActivity extends BoteActivityBase implements
FolderListAdapter.OnFolderSelectedListener,
EmailListFragment.OnEmailSelectedListener,
MoveToDialogFragment.MoveToDialogListener,
@@ -80,10 +79,6 @@ public class EmailListActivity extends AppCompatActivity implements
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize I2P settings
InitActivities init = new InitActivities(this);
init.initialize();
// Set the action bar
Toolbar toolbar = (Toolbar) findViewById(R.id.main_toolbar);
setSupportActionBar(toolbar);

View File

@@ -5,12 +5,11 @@ import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import com.viewpagerindicator.TitlePageIndicator;
public class HelpActivity extends AppCompatActivity {
public class HelpActivity extends BoteActivityBase {
/**
* The {@link android.support.v4.view.PagerAdapter} that will provide
* fragments for each of the sections. We use a

View File

@@ -1,19 +1,14 @@
package i2p.bote.android;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
public class NetworkInfoActivity extends AppCompatActivity {
public class NetworkInfoActivity extends BoteActivityBase {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_toolbar);
// Initialize I2P settings
InitActivities init = new InitActivities(this);
init.initialize();
// Set the action bar
Toolbar toolbar = (Toolbar) findViewById(R.id.main_toolbar);
setSupportActionBar(toolbar);

View File

@@ -1,21 +1,16 @@
package i2p.bote.android;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.widget.Toast;
public class NewEmailActivity extends AppCompatActivity implements
public class NewEmailActivity extends BoteActivityBase implements
NewEmailFragment.Callbacks {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_toolbar);
// Initialize I2P settings
InitActivities init = new InitActivities(this);
init.initialize();
// Set the action bar
Toolbar toolbar = (Toolbar) findViewById(R.id.main_toolbar);
setSupportActionBar(toolbar);

View File

@@ -9,7 +9,6 @@ import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.app.LoaderManager;
import android.support.v4.content.Loader;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import java.security.GeneralSecurityException;
@@ -23,7 +22,7 @@ import i2p.bote.fileencryption.PasswordException;
import i2p.bote.folder.EmailFolder;
import i2p.bote.folder.FolderListener;
public class ViewEmailActivity extends AppCompatActivity implements
public class ViewEmailActivity extends BoteActivityBase implements
LoaderManager.LoaderCallbacks<List<String>> {
public static final String FOLDER_NAME = "folder_name";
public static final String MESSAGE_ID = "message_id";
@@ -41,10 +40,6 @@ public class ViewEmailActivity extends AppCompatActivity implements
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_email);
// Initialize I2P settings
InitActivities init = new InitActivities(this);
init.initialize();
// Set the action bar
Toolbar toolbar = (Toolbar) findViewById(R.id.main_toolbar);
setSupportActionBar(toolbar);

View File

@@ -3,18 +3,17 @@ package i2p.bote.android.addressbook;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;
import i2p.bote.android.BoteActivityBase;
import i2p.bote.android.Constants;
import i2p.bote.android.InitActivities;
import i2p.bote.android.R;
import i2p.bote.packet.dht.Contact;
public class AddressBookActivity extends AppCompatActivity implements
public class AddressBookActivity extends BoteActivityBase implements
AddressBookFragment.OnContactSelectedListener {
static final int ALTER_CONTACT_LIST = 1;
@@ -23,10 +22,6 @@ public class AddressBookActivity extends AppCompatActivity implements
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_toolbar);
// Initialize I2P settings
InitActivities init = new InitActivities(this);
init.initialize();
// Set the action bar
Toolbar toolbar = (Toolbar) findViewById(R.id.main_toolbar);
setSupportActionBar(toolbar);

View File

@@ -6,25 +6,20 @@ import android.nfc.NdefRecord;
import android.nfc.NfcAdapter;
import android.os.Bundle;
import android.os.Parcelable;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import java.util.Arrays;
import i2p.bote.android.BoteActivityBase;
import i2p.bote.android.Constants;
import i2p.bote.android.InitActivities;
import i2p.bote.android.R;
public class EditContactActivity extends AppCompatActivity {
public class EditContactActivity extends BoteActivityBase {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_toolbar);
// Initialize I2P settings
InitActivities init = new InitActivities(this);
init.initialize();
// Set the action bar
Toolbar toolbar = (Toolbar) findViewById(R.id.main_toolbar);
setSupportActionBar(toolbar);

View File

@@ -6,11 +6,10 @@ import android.nfc.NfcAdapter;
import android.nfc.NfcEvent;
import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import i2p.bote.android.InitActivities;
import i2p.bote.android.BoteActivityBase;
public class ViewContactActivity extends AppCompatActivity {
public class ViewContactActivity extends BoteActivityBase {
NfcAdapter mNfcAdapter;
@SuppressLint("NewApi")
@@ -18,10 +17,6 @@ public class ViewContactActivity extends AppCompatActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Initialize I2P settings
InitActivities init = new InitActivities(this);
init.initialize();
if (savedInstanceState == null) {
String destination = null;
Bundle args = getIntent().getExtras();

View File

@@ -1,24 +1,19 @@
package i2p.bote.android.config;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.widget.Toast;
import i2p.bote.android.InitActivities;
import i2p.bote.android.BoteActivityBase;
import i2p.bote.android.R;
public class SetPasswordActivity extends AppCompatActivity implements
public class SetPasswordActivity extends BoteActivityBase implements
SetPasswordFragment.Callbacks {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_set_password);
// Initialize I2P settings
InitActivities init = new InitActivities(this);
init.initialize();
// Set the action bar
Toolbar toolbar = (Toolbar) findViewById(R.id.main_toolbar);
setSupportActionBar(toolbar);

View File

@@ -7,16 +7,14 @@ import android.preference.Preference;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.preference.PreferenceFragment;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import i2p.bote.android.BoteActivityBase;
import i2p.bote.android.EmailListActivity;
import i2p.bote.android.InitActivities;
import i2p.bote.android.R;
import i2p.bote.android.identities.IdentityListActivity;
import i2p.bote.android.util.LocaleManager;
public class SettingsActivity extends AppCompatActivity implements
public class SettingsActivity extends BoteActivityBase implements
SharedPreferences.OnSharedPreferenceChangeListener {
public static final String PREFERENCE_CATEGORY = "preference_category";
public static final String PREFERENCE_CATEGORY_GENERAL = "preference_category_general";
@@ -24,8 +22,6 @@ public class SettingsActivity extends AppCompatActivity implements
public static final String PREFERENCE_CATEGORY_IDENTITIES = "preference_category_identities";
public static final String PREFERENCE_CATEGORY_APPEARANCE = "preference_category_appearance";
private final LocaleManager localeManager = new LocaleManager();
//
// Android lifecycle
@@ -33,14 +29,9 @@ public class SettingsActivity extends AppCompatActivity implements
@Override
protected void onCreate(Bundle savedInstanceState) {
localeManager.onCreate(this);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_toolbar);
// Initialize I2P settings
InitActivities init = new InitActivities(this);
init.initialize();
// Set the action bar
Toolbar toolbar = (Toolbar) findViewById(R.id.main_toolbar);
setSupportActionBar(toolbar);
@@ -58,12 +49,6 @@ public class SettingsActivity extends AppCompatActivity implements
.commit();
}
@Override
public void onResume() {
super.onResume();
localeManager.onResume(this);
}
@Override
public boolean onSupportNavigateUp() {
FragmentManager fragmentManager = getSupportFragmentManager();
@@ -81,7 +66,7 @@ public class SettingsActivity extends AppCompatActivity implements
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if (key.equals("pref_language")) {
localeManager.onResume(this);
notifyLocaleChanged();
}
}

View File

@@ -1,24 +1,19 @@
package i2p.bote.android.identities;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.widget.Toast;
import i2p.bote.android.InitActivities;
import i2p.bote.android.BoteActivityBase;
import i2p.bote.android.R;
public class EditIdentityActivity extends AppCompatActivity implements
public class EditIdentityActivity extends BoteActivityBase implements
EditIdentityFragment.Callbacks {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edit_identity);
// Initialize I2P settings
InitActivities init = new InitActivities(this);
init.initialize();
// Set the action bar
Toolbar toolbar = (Toolbar) findViewById(R.id.main_toolbar);
setSupportActionBar(toolbar);

View File

@@ -3,14 +3,13 @@ package i2p.bote.android.identities;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import i2p.bote.android.InitActivities;
import i2p.bote.android.BoteActivityBase;
import i2p.bote.android.R;
import i2p.bote.email.EmailIdentity;
public class IdentityListActivity extends AppCompatActivity implements
public class IdentityListActivity extends BoteActivityBase implements
IdentityListFragment.IdentityListListener {
static final int ALTER_IDENTITY_LIST = 1;
@@ -19,10 +18,6 @@ public class IdentityListActivity extends AppCompatActivity implements
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_toolbar);
// Initialize I2P settings
InitActivities init = new InitActivities(this);
init.initialize();
// Set the action bar
Toolbar toolbar = (Toolbar) findViewById(R.id.main_toolbar);
setSupportActionBar(toolbar);

View File

@@ -1,14 +1,14 @@
package i2p.bote.android.identities;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.widget.Toast;
import i2p.bote.android.BoteActivityBase;
import i2p.bote.android.InitActivities;
import i2p.bote.android.R;
public class IdentityShipActivity extends AppCompatActivity implements
public class IdentityShipActivity extends BoteActivityBase implements
IdentityShipFragment.Callbacks {
public static final String EXPORTING = "exporting";
@@ -19,10 +19,6 @@ public class IdentityShipActivity extends AppCompatActivity implements
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_identity_ship);
// Initialize I2P settings
InitActivities init = new InitActivities(this);
init.initialize();
// Set the action bar
Toolbar toolbar = (Toolbar) findViewById(R.id.main_toolbar);
setSupportActionBar(toolbar);

View File

@@ -6,11 +6,10 @@ import android.nfc.NfcAdapter;
import android.nfc.NfcEvent;
import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import i2p.bote.android.InitActivities;
import i2p.bote.android.BoteActivityBase;
public class ViewIdentityActivity extends AppCompatActivity {
public class ViewIdentityActivity extends BoteActivityBase {
NfcAdapter mNfcAdapter;
@SuppressLint("NewApi")
@@ -18,10 +17,6 @@ public class ViewIdentityActivity extends AppCompatActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Initialize I2P settings
InitActivities init = new InitActivities(this);
init.initialize();
if (savedInstanceState == null) {
String key = null;
Bundle args = getIntent().getExtras();

View File

@@ -6,8 +6,6 @@ import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -16,9 +14,10 @@ import android.widget.TextView;
import com.viewpagerindicator.LinePageIndicator;
import i2p.bote.android.BoteActivityBase;
import i2p.bote.android.R;
public class IntroActivity extends AppCompatActivity {
public class IntroActivity extends BoteActivityBase {
/**
* The {@link android.support.v4.view.PagerAdapter} that will provide

View File

@@ -3,18 +3,18 @@ package i2p.bote.android.intro;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
import i2p.bote.android.BoteActivityBase;
import i2p.bote.android.R;
import i2p.bote.android.config.SetPasswordActivity;
import i2p.bote.android.identities.EditIdentityActivity;
public class SetupActivity extends AppCompatActivity {
public class SetupActivity extends BoteActivityBase {
@Override
protected void onCreate(Bundle savedInstanceState) {