Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Prepare for ABS 4.0 Final (changes since RC1)

At the time of writing, there hasn't been another ABS release or
snapshot since ABS 4.0 RC1, but there *have* been bugfixes and changes
to the api. This commit addresses those API changes, and currently only
compiles if you get head on the ABS 4.0-wip branch, and use it to
install a fresh 4.0.0-SNAPSHOT into your local repository.
  • Loading branch information...
commit 1f4a62dd73c48fdde2bbf3ed03570a59d5f66b4c 1 parent 309bcc9
@rtyley rtyley authored
View
2  app/pom.xml
@@ -31,7 +31,7 @@
</parent>
<properties>
- <abs.version>4.0.0-RC1</abs.version>
+ <abs.version>4.0.0-SNAPSHOT</abs.version>
</properties>
<repositories>
<repository>
View
131 app/src/main/java/com/github/mobile/gauges/roboguice/RoboSherlockActivity.java
@@ -0,0 +1,131 @@
+/*
+ * Copyright 2012 Jake Wharton
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ */
+package com.github.mobile.gauges.roboguice;
+
+import android.content.Intent;
+import android.content.res.Configuration;
+import android.os.Bundle;
+
+import com.actionbarsherlock.app.SherlockActivity;
+import com.google.inject.Inject;
+
+import roboguice.RoboGuice;
+import roboguice.activity.event.OnActivityResultEvent;
+import roboguice.activity.event.OnConfigurationChangedEvent;
+import roboguice.activity.event.OnContentChangedEvent;
+import roboguice.activity.event.OnCreateEvent;
+import roboguice.activity.event.OnDestroyEvent;
+import roboguice.activity.event.OnNewIntentEvent;
+import roboguice.activity.event.OnPauseEvent;
+import roboguice.activity.event.OnRestartEvent;
+import roboguice.activity.event.OnResumeEvent;
+import roboguice.activity.event.OnStartEvent;
+import roboguice.activity.event.OnStopEvent;
+import roboguice.event.EventManager;
+import roboguice.inject.ContentViewListener;
+import roboguice.inject.RoboInjector;
+
+/**
+ * An example of how to make your own Robo-enabled Sherlock activity. Feel free
+ * to do with with any of the other Sherlock activity types!
+ */
+public class RoboSherlockActivity extends SherlockActivity {
+ protected EventManager eventManager;
+
+ @Inject
+ ContentViewListener ignored; // BUG find a better place to put this
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ final RoboInjector injector = RoboGuice.getInjector(this);
+ eventManager = injector.getInstance(EventManager.class);
+ injector.injectMembersWithoutViews(this);
+ super.onCreate(savedInstanceState);
+ eventManager.fire(new OnCreateEvent(savedInstanceState));
+ }
+
+ @Override
+ protected void onRestart() {
+ super.onRestart();
+ eventManager.fire(new OnRestartEvent());
+ }
+
+ @Override
+ protected void onStart() {
+ super.onStart();
+ eventManager.fire(new OnStartEvent());
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ eventManager.fire(new OnResumeEvent());
+ }
+
+ @Override
+ protected void onPause() {
+ super.onPause();
+ eventManager.fire(new OnPauseEvent());
+ }
+
+ @Override
+ protected void onNewIntent( Intent intent ) {
+ super.onNewIntent(intent);
+ eventManager.fire(new OnNewIntentEvent());
+ }
+
+ @Override
+ protected void onStop() {
+ try {
+ eventManager.fire(new OnStopEvent());
+ } finally {
+ super.onStop();
+ }
+ }
+
+ @Override
+ protected void onDestroy() {
+ try {
+ eventManager.fire(new OnDestroyEvent());
+ } finally {
+ try {
+ RoboGuice.destroyInjector(this);
+ } finally {
+ super.onDestroy();
+ }
+ }
+ }
+
+ @Override
+ public void onConfigurationChanged(Configuration newConfig) {
+ final Configuration currentConfig = getResources().getConfiguration();
+ super.onConfigurationChanged(newConfig);
+ eventManager.fire(new OnConfigurationChangedEvent(currentConfig, newConfig));
+ }
+
+ @Override
+ public void onContentChanged() {
+ super.onContentChanged();
+ RoboGuice.getInjector(this).injectViewMembers(this);
+ eventManager.fire(new OnContentChangedEvent());
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ eventManager.fire(new OnActivityResultEvent(requestCode, resultCode, data));
+ }
+}
View
109 app/src/main/java/com/github/mobile/gauges/roboguice/RoboSherlockFragmentActivity.java
@@ -0,0 +1,109 @@
+package com.github.mobile.gauges.roboguice;
+
+import android.os.Bundle;
+import android.view.View;
+
+import com.actionbarsherlock.app.SherlockFragmentActivity;
+import com.actionbarsherlock.app.SherlockListFragment;
+
+import roboguice.RoboGuice;
+
+import roboguice.RoboGuice;
+import roboguice.activity.event.*;
+import roboguice.event.EventManager;
+import roboguice.inject.ContentViewListener;
+import roboguice.inject.RoboInjector;
+
+import android.content.Intent;
+import android.content.res.Configuration;
+import android.os.Bundle;
+import android.support.v4.app.FragmentActivity;
+
+import com.google.inject.Inject;
+
+public class RoboSherlockFragmentActivity extends SherlockFragmentActivity {
+ protected EventManager eventManager;
+
+ @Inject ContentViewListener ignored; // BUG find a better place to put this
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ final RoboInjector injector = RoboGuice.getInjector(this);
+ eventManager = injector.getInstance(EventManager.class);
+ injector.injectMembersWithoutViews(this);
+ super.onCreate(savedInstanceState);
+ eventManager.fire(new OnCreateEvent(savedInstanceState));
+ }
+
+ @Override
+ protected void onRestart() {
+ super.onRestart();
+ eventManager.fire(new OnRestartEvent());
+ }
+
+ @Override
+ protected void onStart() {
+ super.onStart();
+ eventManager.fire(new OnStartEvent());
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ eventManager.fire(new OnResumeEvent());
+ }
+
+ @Override
+ protected void onPause() {
+ super.onPause();
+ eventManager.fire(new OnPauseEvent());
+ }
+
+ @Override
+ protected void onNewIntent( Intent intent ) {
+ super.onNewIntent(intent);
+ eventManager.fire(new OnNewIntentEvent());
+ }
+
+ @Override
+ protected void onStop() {
+ try {
+ eventManager.fire(new OnStopEvent());
+ } finally {
+ super.onStop();
+ }
+ }
+
+ @Override
+ protected void onDestroy() {
+ try {
+ eventManager.fire(new OnDestroyEvent());
+ } finally {
+ try {
+ RoboGuice.destroyInjector(this);
+ } finally {
+ super.onDestroy();
+ }
+ }
+ }
+
+ @Override
+ public void onConfigurationChanged(Configuration newConfig) {
+ final Configuration currentConfig = getResources().getConfiguration();
+ super.onConfigurationChanged(newConfig);
+ eventManager.fire(new OnConfigurationChangedEvent(currentConfig, newConfig));
+ }
+
+ @Override
+ public void onContentChanged() {
+ super.onContentChanged();
+ RoboGuice.getInjector(this).injectViewMembers(this);
+ eventManager.fire(new OnContentChangedEvent());
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ eventManager.fire(new OnActivityResultEvent(requestCode, resultCode, data));
+ }
+}
View
24 app/src/main/java/com/github/mobile/gauges/roboguice/RoboSherlockListFragment.java
@@ -0,0 +1,24 @@
+package com.github.mobile.gauges.roboguice;
+
+import roboguice.RoboGuice;
+
+import android.os.Bundle;
+import android.support.v4.app.ListFragment;
+import android.view.View;
+
+import com.actionbarsherlock.app.SherlockActivity;
+import com.actionbarsherlock.app.SherlockListFragment;
+
+public abstract class RoboSherlockListFragment extends SherlockListFragment {
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ RoboGuice.getInjector(getActivity()).injectMembersWithoutViews(this);
+ }
+
+ @Override
+ public void onViewCreated(View view, Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+ RoboGuice.getInjector(getActivity()).injectViewMembers(this);
+ }
+}
View
5 app/src/main/java/com/github/mobile/gauges/ui/GaugeListActivity.java
@@ -19,13 +19,12 @@
import android.os.Bundle;
import com.github.mobile.gauges.R.layout;
-
-import roboguice.activity.RoboFragmentActivity;
+import com.github.mobile.gauges.roboguice.RoboSherlockFragmentActivity;
/**
* Activity to display list of gauge summaries
*/
-public class GaugeListActivity extends RoboFragmentActivity {
+public class GaugeListActivity extends RoboSherlockFragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
View
4 app/src/main/java/com/github/mobile/gauges/ui/GaugeViewActivity.java
@@ -28,16 +28,16 @@
import com.github.mobile.gauges.R.id;
import com.github.mobile.gauges.R.layout;
import com.github.mobile.gauges.core.Gauge;
+import com.github.mobile.gauges.roboguice.RoboSherlockFragmentActivity;
import com.viewpagerindicator.TitlePageIndicator;
-import roboguice.activity.RoboFragmentActivity;
import roboguice.inject.InjectExtra;
import roboguice.inject.InjectView;
/**
* Activity to view a specific {@link Gauge}'s traffic, content, and referrer information
*/
-public class GaugeViewActivity extends RoboFragmentActivity {
+public class GaugeViewActivity extends RoboSherlockFragmentActivity {
@InjectView(id.tpi_header)
private TitlePageIndicator indicator;
View
6 app/src/main/java/com/github/mobile/gauges/ui/ListLoadingFragment.java
@@ -22,6 +22,7 @@
import android.os.Bundle;
import android.support.v4.app.LoaderManager.LoaderCallbacks;
import android.support.v4.content.Loader;
+
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
@@ -35,17 +36,16 @@
import com.github.mobile.gauges.R.layout;
import com.github.mobile.gauges.R.menu;
import com.madgag.android.listviews.ViewHoldingListAdapter;
+import com.github.mobile.gauges.roboguice.RoboSherlockListFragment;
import java.util.List;
-import roboguice.fragment.RoboListFragment;
-
/**
* List loading fragment for a specific type
*
* @param <E>
*/
-public abstract class ListLoadingFragment<E> extends RoboListFragment implements LoaderCallbacks<List<E>> {
+public abstract class ListLoadingFragment<E> extends RoboSherlockListFragment implements LoaderCallbacks<List<E>> {
private MenuItem refreshItem;
View
4 app/src/main/java/com/github/mobile/gauges/ui/airtraffic/AirTrafficActivity.java
@@ -32,6 +32,7 @@
import com.github.mobile.gauges.R.id;
import com.github.mobile.gauges.R.layout;
import com.github.mobile.gauges.core.Gauge;
+import com.github.mobile.gauges.roboguice.RoboSherlockFragmentActivity;
import com.github.mobile.gauges.ui.GaugeListLoader;
import com.google.inject.Inject;
@@ -42,13 +43,12 @@
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
-import roboguice.activity.RoboFragmentActivity;
import roboguice.inject.InjectView;
/**
* Activity to display list of gauge summaries
*/
-public class AirTrafficActivity extends RoboFragmentActivity implements LoaderCallbacks<List<Gauge>> {
+public class AirTrafficActivity extends RoboSherlockFragmentActivity implements LoaderCallbacks<List<Gauge>> {
private static final String CHANNEL_PREFIX = "private-";
View
2  proguard.cfg
@@ -55,3 +55,5 @@
public *** startFinalizer(java.lang.Class,java.lang.Object);
*** startFinalizer(java.lang.Class,java.lang.Object);
}
+
+-keepclassmembers class * extends com.actionbarsherlock.ActionBarSherlock { public <init>(...); }
Please sign in to comment.
Something went wrong with that request. Please try again.