Fix cached title for non-system languages
This commit is contained in:
parent
a6bb109514
commit
0b4318f05f
@ -8,6 +8,7 @@ import android.graphics.Typeface;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.DrawableRes;
|
||||
import android.support.annotation.LayoutRes;
|
||||
import android.support.annotation.StringRes;
|
||||
import android.support.design.widget.FloatingActionButton;
|
||||
import android.support.v7.app.ActionBar;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
@ -40,6 +41,7 @@ public class BaseActivity extends AppCompatActivity {
|
||||
@Nonnull
|
||||
protected final Tabs tabs;
|
||||
private final int layoutId;
|
||||
private final int titleId;
|
||||
@Inject
|
||||
SharedPreferences preferences;
|
||||
@Inject
|
||||
@ -69,12 +71,13 @@ public class BaseActivity extends AppCompatActivity {
|
||||
@Nonnull
|
||||
private Language language = Languages.SYSTEM_LANGUAGE;
|
||||
|
||||
public BaseActivity() {
|
||||
this(R.layout.activity_tabs);
|
||||
public BaseActivity(@StringRes int titleId) {
|
||||
this(R.layout.activity_tabs, titleId);
|
||||
}
|
||||
|
||||
public BaseActivity(@LayoutRes int layout) {
|
||||
this.layoutId = layout;
|
||||
public BaseActivity(@LayoutRes int layoutId, @StringRes int titleId) {
|
||||
this.layoutId = layoutId;
|
||||
this.titleId = titleId;
|
||||
this.tabs = new Tabs(this);
|
||||
}
|
||||
|
||||
@ -139,6 +142,11 @@ public class BaseActivity extends AppCompatActivity {
|
||||
|
||||
private void createView() {
|
||||
setContentView(layoutId);
|
||||
// title must be updated as if a non-system language is used the value from AndroidManifest
|
||||
// might be cached
|
||||
if (titleId != 0) {
|
||||
setTitle(titleId);
|
||||
}
|
||||
ButterKnife.bind(this, this);
|
||||
|
||||
fixFonts(mainView);
|
||||
@ -177,7 +185,7 @@ public class BaseActivity extends AppCompatActivity {
|
||||
setTheme(theme.getThemeFor(this));
|
||||
|
||||
layout = Preferences.Gui.getLayout(preferences);
|
||||
language = App.getLanguages().getCurrent();
|
||||
language = languages.getCurrent();
|
||||
}
|
||||
|
||||
protected void populateTabs(@Nonnull Tabs tabs) {
|
||||
|
@ -82,7 +82,7 @@ public class CalculatorActivity extends BaseActivity implements SharedPreference
|
||||
private boolean useBackAsPrevious;
|
||||
|
||||
public CalculatorActivity() {
|
||||
super(R.layout.activity_main);
|
||||
super(R.layout.activity_main, R.string.c_app_name);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -28,12 +28,17 @@ import android.support.annotation.NonNull;
|
||||
import org.solovyev.android.calculator.App;
|
||||
import org.solovyev.android.calculator.BaseActivity;
|
||||
import org.solovyev.android.calculator.FragmentTab;
|
||||
import org.solovyev.android.calculator.R;
|
||||
import org.solovyev.android.calculator.view.Tabs;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public class AboutActivity extends BaseActivity {
|
||||
|
||||
public AboutActivity() {
|
||||
super(R.string.cpp_about);
|
||||
}
|
||||
|
||||
public static class Dialog extends AboutActivity {
|
||||
}
|
||||
|
||||
|
@ -40,6 +40,10 @@ public class FunctionsActivity extends BaseActivity {
|
||||
|
||||
public static final String EXTRA_FUNCTION = "function";
|
||||
|
||||
public FunctionsActivity() {
|
||||
super(R.string.c_functions);
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
public static Class<? extends FunctionsActivity> getClass(@NonNull Context context) {
|
||||
return App.isTablet(context) ? Dialog.class : FunctionsActivity.class;
|
||||
|
@ -29,7 +29,12 @@ import android.support.annotation.NonNull;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.view.View;
|
||||
import org.solovyev.android.calculator.*;
|
||||
|
||||
import org.solovyev.android.calculator.App;
|
||||
import org.solovyev.android.calculator.AppComponent;
|
||||
import org.solovyev.android.calculator.BaseActivity;
|
||||
import org.solovyev.android.calculator.FragmentTab;
|
||||
import org.solovyev.android.calculator.R;
|
||||
import org.solovyev.android.calculator.view.Tabs;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
@ -39,6 +44,10 @@ import static org.solovyev.android.calculator.FragmentTab.saved_history;
|
||||
|
||||
public class HistoryActivity extends BaseActivity {
|
||||
|
||||
public HistoryActivity() {
|
||||
super(R.string.c_history);
|
||||
}
|
||||
|
||||
public static class Dialog extends HistoryActivity {
|
||||
}
|
||||
|
||||
|
@ -22,15 +22,20 @@
|
||||
|
||||
package org.solovyev.android.calculator.matrix;
|
||||
|
||||
import android.os.Bundle;
|
||||
import org.solovyev.android.calculator.BaseActivity;
|
||||
import org.solovyev.android.calculator.FragmentTab;
|
||||
import org.solovyev.android.calculator.R;
|
||||
import org.solovyev.android.calculator.view.Tabs;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public class CalculatorMatrixActivity extends BaseActivity {
|
||||
|
||||
public CalculatorMatrixActivity() {
|
||||
super(R.string.c_plot_graph);
|
||||
// FIXME: 2016-03-01 string
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void populateTabs(@Nonnull Tabs tabs) {
|
||||
super.populateTabs(tabs);
|
||||
|
@ -35,6 +35,10 @@ import javax.annotation.Nonnull;
|
||||
|
||||
public class OperatorsActivity extends BaseActivity {
|
||||
|
||||
public OperatorsActivity() {
|
||||
super(R.string.c_operators);
|
||||
}
|
||||
|
||||
public static class Dialog extends OperatorsActivity {
|
||||
}
|
||||
|
||||
|
@ -7,8 +7,7 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Toast;
|
||||
import butterknife.Bind;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
import org.solovyev.android.calculator.AppComponent;
|
||||
import org.solovyev.android.calculator.BaseActivity;
|
||||
import org.solovyev.android.calculator.BaseFragment;
|
||||
@ -20,6 +19,9 @@ import org.solovyev.android.plotter.Plotter;
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import butterknife.Bind;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
public class PlotActivity extends BaseActivity {
|
||||
|
||||
public static class MyFragment extends BaseFragment implements PlotViewFrame.Listener {
|
||||
@ -90,7 +92,7 @@ public class PlotActivity extends BaseActivity {
|
||||
}
|
||||
|
||||
public PlotActivity() {
|
||||
super(R.layout.activity_empty);
|
||||
super(R.layout.activity_empty, R.string.c_plot);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -58,7 +58,7 @@ public class PreferencesActivity extends BaseActivity implements SharedPreferenc
|
||||
Languages languages;
|
||||
|
||||
public PreferencesActivity() {
|
||||
super(R.layout.activity_empty);
|
||||
super(R.layout.activity_empty, R.string.cpp_settings);
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
|
@ -40,6 +40,10 @@ public class VariablesActivity extends BaseActivity {
|
||||
|
||||
public static final String EXTRA_VARIABLE = "variable";
|
||||
|
||||
public VariablesActivity() {
|
||||
super(R.string.c_vars_and_constants);
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
public static Class<? extends VariablesActivity> getClass(@NonNull Context context) {
|
||||
return App.isTablet(context) ? Dialog.class : VariablesActivity.class;
|
||||
|
@ -49,7 +49,7 @@ public class WizardActivity extends BaseActivity implements WizardsAware, Shared
|
||||
Languages languages;
|
||||
|
||||
public WizardActivity() {
|
||||
super(R.layout.cpp_activity_wizard);
|
||||
super(R.layout.cpp_activity_wizard, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
Reference in New Issue
Block a user