Fragments
This commit is contained in:
@@ -64,7 +64,7 @@ public class CalculatorActivity extends SherlockFragmentActivity implements Font
|
||||
|
||||
final CalculatorPreferences.Gui.Layout layout = CalculatorPreferences.Gui.layout.getPreferenceNoError(preferences);
|
||||
|
||||
activityHelper = CalculatorApplication.getInstance().createCalculatorHistoryHelper(layout.getLayoutId(), TAG);
|
||||
activityHelper = CalculatorApplication.getInstance().createActivityHelper(layout.getLayoutId(), TAG);
|
||||
activityHelper.logDebug("onCreate");
|
||||
activityHelper.onCreate(this, savedInstanceState);
|
||||
|
||||
|
@@ -111,7 +111,12 @@ public class CalculatorApplication extends android.app.Application {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public CalculatorActivityHelper createCalculatorHistoryHelper(int layoutResId, @NotNull String logTag) {
|
||||
public CalculatorActivityHelper createActivityHelper(int layoutResId, @NotNull String logTag) {
|
||||
return new CalculatorActivityHelperImpl(layoutResId, logTag);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public CalculatorFragmentHelper createFragmentHelper() {
|
||||
return new CalculatorFragmentHelperImpl();
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,14 @@
|
||||
package org.solovyev.android.calculator;
|
||||
|
||||
import android.support.v4.app.Fragment;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* User: serso
|
||||
* Date: 9/26/12
|
||||
* Time: 10:14 PM
|
||||
*/
|
||||
public interface CalculatorFragmentHelper {
|
||||
|
||||
boolean isPane(@NotNull Fragment fragment);
|
||||
}
|
@@ -0,0 +1,17 @@
|
||||
package org.solovyev.android.calculator;
|
||||
|
||||
import android.support.v4.app.Fragment;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* User: serso
|
||||
* Date: 9/26/12
|
||||
* Time: 10:14 PM
|
||||
*/
|
||||
public class CalculatorFragmentHelperImpl implements CalculatorFragmentHelper {
|
||||
|
||||
@Override
|
||||
public boolean isPane(@NotNull Fragment fragment) {
|
||||
return fragment.getActivity() instanceof CalculatorActivity;
|
||||
}
|
||||
}
|
@@ -15,6 +15,7 @@ import android.view.ViewGroup;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.ListView;
|
||||
import android.widget.TextView;
|
||||
import com.actionbarsherlock.app.SherlockListFragment;
|
||||
import com.google.ads.AdView;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -43,6 +44,14 @@ import java.util.List;
|
||||
*/
|
||||
public abstract class AbstractCalculatorHistoryFragment extends SherlockListFragment implements CalculatorEventListener {
|
||||
|
||||
/*
|
||||
**********************************************************************
|
||||
*
|
||||
* CONSTANTS
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
@NotNull
|
||||
private static final String TAG = "CalculatorHistoryFragment";
|
||||
|
||||
@@ -61,6 +70,14 @@ public abstract class AbstractCalculatorHistoryFragment extends SherlockListFrag
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
**********************************************************************
|
||||
*
|
||||
* FIELDS
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
|
||||
@NotNull
|
||||
private ArrayAdapter<CalculatorHistoryState> adapter;
|
||||
@@ -68,10 +85,15 @@ public abstract class AbstractCalculatorHistoryFragment extends SherlockListFrag
|
||||
@Nullable
|
||||
private AdView adView;
|
||||
|
||||
@NotNull
|
||||
private CalculatorFragmentHelper fragmentHelper;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
fragmentHelper = CalculatorApplication.getInstance().createFragmentHelper();
|
||||
|
||||
logDebug("onCreate");
|
||||
}
|
||||
|
||||
@@ -92,6 +114,13 @@ public abstract class AbstractCalculatorHistoryFragment extends SherlockListFrag
|
||||
|
||||
logDebug("onViewCreated");
|
||||
|
||||
final TextView fragmentTitle = (TextView) view.findViewById(R.id.fragmentTitle);
|
||||
if (!fragmentHelper.isPane(this)) {
|
||||
fragmentTitle.setVisibility(View.GONE);
|
||||
} else {
|
||||
fragmentTitle.setText(this.getString(getFragmentTitleResId()).toUpperCase());
|
||||
}
|
||||
|
||||
adapter = new HistoryArrayAdapter(this.getActivity(), getItemLayoutId(), R.id.history_item, new ArrayList<CalculatorHistoryState>());
|
||||
setListAdapter(adapter);
|
||||
|
||||
@@ -143,7 +172,9 @@ public abstract class AbstractCalculatorHistoryFragment extends SherlockListFrag
|
||||
adView = AdsController.getInstance().inflateAd(this.getActivity(), (ViewGroup)view.findViewById(R.id.ad_parent_view), R.id.ad_parent_view);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected abstract int getFragmentTitleResId();
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
logDebug("onDestroy");
|
||||
|
||||
|
@@ -1,39 +1,44 @@
|
||||
/*
|
||||
* Copyright (c) 2009-2011. Created by serso aka se.solovyev.
|
||||
* For more information, please, contact se.solovyev@gmail.com
|
||||
* or visit http://se.solovyev.org
|
||||
*/
|
||||
|
||||
package org.solovyev.android.calculator.history;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.solovyev.android.calculator.CalculatorLocatorImpl;
|
||||
import org.solovyev.android.calculator.R;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* User: serso
|
||||
* Date: 12/18/11
|
||||
* Time: 7:39 PM
|
||||
*/
|
||||
public class CalculatorHistoryFragment extends AbstractCalculatorHistoryFragment {
|
||||
|
||||
@Override
|
||||
protected int getItemLayoutId() {
|
||||
return R.layout.history;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
protected List<CalculatorHistoryState> getHistoryItems() {
|
||||
return new ArrayList<CalculatorHistoryState>(CalculatorLocatorImpl.getInstance().getHistory().getStates());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void clearHistory() {
|
||||
CalculatorLocatorImpl.getInstance().getHistory().clear();
|
||||
getAdapter().clear();
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Copyright (c) 2009-2011. Created by serso aka se.solovyev.
|
||||
* For more information, please, contact se.solovyev@gmail.com
|
||||
* or visit http://se.solovyev.org
|
||||
*/
|
||||
|
||||
package org.solovyev.android.calculator.history;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.solovyev.android.calculator.CalculatorLocatorImpl;
|
||||
import org.solovyev.android.calculator.R;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* User: serso
|
||||
* Date: 12/18/11
|
||||
* Time: 7:39 PM
|
||||
*/
|
||||
public class CalculatorHistoryFragment extends AbstractCalculatorHistoryFragment {
|
||||
|
||||
@Override
|
||||
protected int getFragmentTitleResId() {
|
||||
return R.string.c_history;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getItemLayoutId() {
|
||||
return R.layout.history;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
protected List<CalculatorHistoryState> getHistoryItems() {
|
||||
return new ArrayList<CalculatorHistoryState>(CalculatorLocatorImpl.getInstance().getHistory().getStates());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void clearHistory() {
|
||||
CalculatorLocatorImpl.getInstance().getHistory().clear();
|
||||
getAdapter().clear();
|
||||
}
|
||||
}
|
||||
|
@@ -20,7 +20,7 @@ import org.solovyev.android.calculator.*;
|
||||
public class CalculatorHistoryFragmentActivity extends SherlockFragmentActivity implements CalculatorEventListener {
|
||||
|
||||
@NotNull
|
||||
private final CalculatorActivityHelper activityHelper = CalculatorApplication.getInstance().createCalculatorHistoryHelper(R.layout.main_empty, CalculatorHistoryFragmentActivity.class.getSimpleName());
|
||||
private final CalculatorActivityHelper activityHelper = CalculatorApplication.getInstance().createActivityHelper(R.layout.main_empty, CalculatorHistoryFragmentActivity.class.getSimpleName());
|
||||
|
||||
@Override
|
||||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
|
@@ -1,39 +1,44 @@
|
||||
/*
|
||||
* Copyright (c) 2009-2011. Created by serso aka se.solovyev.
|
||||
* For more information, please, contact se.solovyev@gmail.com
|
||||
* or visit http://se.solovyev.org
|
||||
*/
|
||||
|
||||
package org.solovyev.android.calculator.history;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.solovyev.android.calculator.CalculatorLocatorImpl;
|
||||
import org.solovyev.android.calculator.R;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* User: serso
|
||||
* Date: 12/18/11
|
||||
* Time: 7:40 PM
|
||||
*/
|
||||
public class CalculatorSavedHistoryFragment extends AbstractCalculatorHistoryFragment {
|
||||
|
||||
@Override
|
||||
protected int getItemLayoutId() {
|
||||
return R.layout.saved_history;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
protected List<CalculatorHistoryState> getHistoryItems() {
|
||||
return new ArrayList<CalculatorHistoryState>(CalculatorLocatorImpl.getInstance().getHistory().getSavedHistory());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void clearHistory() {
|
||||
CalculatorLocatorImpl.getInstance().getHistory().clearSavedHistory();
|
||||
getAdapter().clear();
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Copyright (c) 2009-2011. Created by serso aka se.solovyev.
|
||||
* For more information, please, contact se.solovyev@gmail.com
|
||||
* or visit http://se.solovyev.org
|
||||
*/
|
||||
|
||||
package org.solovyev.android.calculator.history;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.solovyev.android.calculator.CalculatorLocatorImpl;
|
||||
import org.solovyev.android.calculator.R;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* User: serso
|
||||
* Date: 12/18/11
|
||||
* Time: 7:40 PM
|
||||
*/
|
||||
public class CalculatorSavedHistoryFragment extends AbstractCalculatorHistoryFragment {
|
||||
|
||||
@Override
|
||||
protected int getFragmentTitleResId() {
|
||||
return R.string.c_saved_history;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getItemLayoutId() {
|
||||
return R.layout.saved_history;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
protected List<CalculatorHistoryState> getHistoryItems() {
|
||||
return new ArrayList<CalculatorHistoryState>(CalculatorLocatorImpl.getInstance().getHistory().getSavedHistory());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void clearHistory() {
|
||||
CalculatorLocatorImpl.getInstance().getHistory().clearSavedHistory();
|
||||
getAdapter().clear();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user