App.cast method introduced
This commit is contained in:
parent
89680ef544
commit
d8a97112bc
@ -363,4 +363,17 @@ public final class App {
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public static CalculatorApplication cast(@NonNull Context context) {
|
||||||
|
if (context instanceof CalculatorApplication) {
|
||||||
|
return (CalculatorApplication) context;
|
||||||
|
}
|
||||||
|
final Context appContext = context.getApplicationContext();
|
||||||
|
if (appContext instanceof CalculatorApplication) {
|
||||||
|
return (CalculatorApplication) appContext;
|
||||||
|
}
|
||||||
|
Check.shouldNotHappen();
|
||||||
|
return (CalculatorApplication) application;
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,6 +1,5 @@
|
|||||||
package org.solovyev.android.calculator;
|
package org.solovyev.android.calculator;
|
||||||
|
|
||||||
import dagger.Component;
|
|
||||||
import org.solovyev.android.calculator.errors.FixableErrorFragment;
|
import org.solovyev.android.calculator.errors.FixableErrorFragment;
|
||||||
import org.solovyev.android.calculator.errors.FixableErrorsActivity;
|
import org.solovyev.android.calculator.errors.FixableErrorsActivity;
|
||||||
import org.solovyev.android.calculator.functions.EditFunctionFragment;
|
import org.solovyev.android.calculator.functions.EditFunctionFragment;
|
||||||
@ -14,6 +13,8 @@ import org.solovyev.android.calculator.variables.VariablesFragment;
|
|||||||
|
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
|
import dagger.Component;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
@Component(modules = AppModule.class)
|
@Component(modules = AppModule.class)
|
||||||
public interface AppComponent {
|
public interface AppComponent {
|
||||||
|
@ -12,6 +12,8 @@ import org.solovyev.android.calculator.entities.Category;
|
|||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
|
import static org.solovyev.android.calculator.App.cast;
|
||||||
|
|
||||||
public class BaseActivity extends AppCompatActivity {
|
public class BaseActivity extends AppCompatActivity {
|
||||||
|
|
||||||
@Nonnull
|
@Nonnull
|
||||||
@ -38,7 +40,7 @@ public class BaseActivity extends AppCompatActivity {
|
|||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
ui.onPreCreate(this);
|
ui.onPreCreate(this);
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
inject(((CalculatorApplication) getApplication()).getComponent());
|
inject(cast(getApplication()).getComponent());
|
||||||
ui.onCreate(this);
|
ui.onCreate(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,6 +17,8 @@ import android.view.inputmethod.InputMethodManager;
|
|||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import static org.solovyev.android.calculator.App.cast;
|
||||||
|
|
||||||
public abstract class BaseDialogFragment extends DialogFragment {
|
public abstract class BaseDialogFragment extends DialogFragment {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@ -25,7 +27,7 @@ public abstract class BaseDialogFragment extends DialogFragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
inject(((CalculatorApplication) getActivity().getApplication()).getComponent());
|
inject(cast(getActivity().getApplication()).getComponent());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void inject(@NonNull AppComponent component) {
|
protected void inject(@NonNull AppComponent component) {
|
||||||
|
@ -8,6 +8,7 @@ import android.view.*;
|
|||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
import static android.view.Menu.NONE;
|
import static android.view.Menu.NONE;
|
||||||
|
import static org.solovyev.android.calculator.App.cast;
|
||||||
|
|
||||||
public abstract class BaseFragment extends Fragment {
|
public abstract class BaseFragment extends Fragment {
|
||||||
|
|
||||||
@ -21,7 +22,7 @@ public abstract class BaseFragment extends Fragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
inject(((CalculatorApplication) getActivity().getApplication()).getComponent());
|
inject(cast(getActivity().getApplication()).getComponent());
|
||||||
ui.onCreate(this);
|
ui.onCreate(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,6 +51,7 @@ import javax.annotation.Nonnull;
|
|||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import static org.solovyev.android.calculator.App.cast;
|
||||||
import static org.solovyev.android.calculator.Preferences.Gui.Layout.simple;
|
import static org.solovyev.android.calculator.Preferences.Gui.Layout.simple;
|
||||||
import static org.solovyev.android.calculator.Preferences.Gui.Layout.simple_mobile;
|
import static org.solovyev.android.calculator.Preferences.Gui.Layout.simple_mobile;
|
||||||
import static org.solovyev.android.calculator.Engine.Preferences.angleUnit;
|
import static org.solovyev.android.calculator.Engine.Preferences.angleUnit;
|
||||||
@ -129,7 +130,7 @@ public abstract class BaseUi implements SharedPreferences.OnSharedPreferenceChan
|
|||||||
PreferredPreferences preferredPreferences;
|
PreferredPreferences preferredPreferences;
|
||||||
|
|
||||||
protected void onCreate(@Nonnull Activity activity) {
|
protected void onCreate(@Nonnull Activity activity) {
|
||||||
((CalculatorApplication) activity.getApplication()).getComponent().inject(this);
|
cast(activity.getApplication()).getComponent().inject(this);
|
||||||
|
|
||||||
layout = Preferences.Gui.layout.getPreferenceNoError(preferences);
|
layout = Preferences.Gui.layout.getPreferenceNoError(preferences);
|
||||||
theme = Preferences.Gui.theme.getPreferenceNoError(preferences);
|
theme = Preferences.Gui.theme.getPreferenceNoError(preferences);
|
||||||
|
@ -40,6 +40,8 @@ import org.solovyev.android.menu.ListActivityMenu;
|
|||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import static org.solovyev.android.calculator.App.cast;
|
||||||
|
|
||||||
public class CalculatorEditorFragment extends Fragment {
|
public class CalculatorEditorFragment extends Fragment {
|
||||||
|
|
||||||
private FragmentUi fragmentUi;
|
private FragmentUi fragmentUi;
|
||||||
@ -77,7 +79,7 @@ public class CalculatorEditorFragment extends Fragment {
|
|||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
((CalculatorApplication) getActivity().getApplication()).getComponent().inject(this);
|
cast(getActivity().getApplication()).getComponent().inject(this);
|
||||||
|
|
||||||
final Preferences.Gui.Layout layout = Preferences.Gui.getLayout(preferences);
|
final Preferences.Gui.Layout layout = Preferences.Gui.getLayout(preferences);
|
||||||
if (!layout.optimized) {
|
if (!layout.optimized) {
|
||||||
|
@ -29,16 +29,19 @@ import android.os.Bundle;
|
|||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
|
|
||||||
import org.solovyev.android.Activities;
|
import org.solovyev.android.Activities;
|
||||||
import org.solovyev.android.calculator.CalculatorApplication;
|
|
||||||
import org.solovyev.android.calculator.Preferences;
|
import org.solovyev.android.calculator.Preferences;
|
||||||
import org.solovyev.common.msg.Message;
|
import org.solovyev.common.msg.Message;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
import javax.inject.Inject;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import static org.solovyev.android.calculator.App.cast;
|
||||||
|
|
||||||
public class FixableErrorsActivity extends AppCompatActivity {
|
public class FixableErrorsActivity extends AppCompatActivity {
|
||||||
|
|
||||||
public static final String EXTRA_ERRORS = "errors";
|
public static final String EXTRA_ERRORS = "errors";
|
||||||
@ -81,7 +84,7 @@ public class FixableErrorsActivity extends AppCompatActivity {
|
|||||||
finish();
|
finish();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
((CalculatorApplication) getApplication()).getComponent().inject(this);
|
cast(getApplication()).getComponent().inject(this);
|
||||||
if (state == null) {
|
if (state == null) {
|
||||||
showNextError();
|
showNextError();
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,6 @@ import com.squareup.otto.Subscribe;
|
|||||||
import org.solovyev.android.Check;
|
import org.solovyev.android.Check;
|
||||||
import org.solovyev.android.Views;
|
import org.solovyev.android.Views;
|
||||||
import org.solovyev.android.calculator.App;
|
import org.solovyev.android.calculator.App;
|
||||||
import org.solovyev.android.calculator.CalculatorApplication;
|
|
||||||
import org.solovyev.android.calculator.Display;
|
import org.solovyev.android.calculator.Display;
|
||||||
import org.solovyev.android.calculator.Editor;
|
import org.solovyev.android.calculator.Editor;
|
||||||
import org.solovyev.android.calculator.Preferences;
|
import org.solovyev.android.calculator.Preferences;
|
||||||
@ -49,6 +48,8 @@ import javax.annotation.Nonnull;
|
|||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import static org.solovyev.android.calculator.App.cast;
|
||||||
|
|
||||||
public class CalculatorOnscreenService extends Service implements OnscreenViewListener, SharedPreferences.OnSharedPreferenceChangeListener {
|
public class CalculatorOnscreenService extends Service implements OnscreenViewListener, SharedPreferences.OnSharedPreferenceChangeListener {
|
||||||
|
|
||||||
public static final Class<CalculatorOnscreenBroadcastReceiver> INTENT_LISTENER_CLASS = CalculatorOnscreenBroadcastReceiver.class;
|
public static final Class<CalculatorOnscreenBroadcastReceiver> INTENT_LISTENER_CLASS = CalculatorOnscreenBroadcastReceiver.class;
|
||||||
@ -126,7 +127,7 @@ public class CalculatorOnscreenService extends Service implements OnscreenViewLi
|
|||||||
@Override
|
@Override
|
||||||
public void onCreate() {
|
public void onCreate() {
|
||||||
super.onCreate();
|
super.onCreate();
|
||||||
((CalculatorApplication) getApplication()).getComponent().inject(this);
|
cast(getApplication()).getComponent().inject(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
Reference in New Issue
Block a user