Skip to content

Commit ed5eb97

Browse files
author
Cristan Meijer
committed
Remove more obsolete code now we only support 14 and up
1 parent 9d3d929 commit ed5eb97

File tree

9 files changed

+70
-140
lines changed

9 files changed

+70
-140
lines changed

stetho-sample/src/debug/java/com/facebook/stetho/sample/SampleDebugApplication.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,11 @@
77

88
package com.facebook.stetho.sample;
99

10-
import android.annotation.TargetApi;
1110
import android.content.Context;
12-
import android.os.Build;
1311
import android.os.SystemClock;
1412
import android.provider.CalendarContract;
1513
import android.util.Log;
14+
1615
import com.facebook.stetho.DumperPluginsProvider;
1716
import com.facebook.stetho.InspectorModulesProvider;
1817
import com.facebook.stetho.Stetho;
@@ -66,7 +65,6 @@ public Iterable<ChromeDevtoolsDomain> get() {
6665
.finish();
6766
}
6867

69-
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
7068
private ContentProviderDatabaseDriver createContentProviderDatabaseDriver(Context context) {
7169
ContentProviderSchema calendarsSchema = new ContentProviderSchema.Builder()
7270
.table(new Table.Builder()

stetho/src/main/java/com/facebook/stetho/Stetho.java

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,7 @@
1010
import android.app.Application;
1111
import android.content.Context;
1212
import android.content.SharedPreferences;
13-
import android.os.Build;
1413

15-
import com.facebook.stetho.common.LogUtil;
1614
import com.facebook.stetho.common.Util;
1715
import com.facebook.stetho.dumpapp.DumpappHttpSocketLikeHandler;
1816
import com.facebook.stetho.dumpapp.DumpappSocketLikeHandler;
@@ -34,7 +32,6 @@
3432
import com.facebook.stetho.inspector.elements.Document;
3533
import com.facebook.stetho.inspector.elements.DocumentProviderFactory;
3634
import com.facebook.stetho.inspector.elements.android.ActivityTracker;
37-
import com.facebook.stetho.inspector.elements.android.AndroidDocumentConstants;
3835
import com.facebook.stetho.inspector.elements.android.AndroidDocumentProviderFactory;
3936
import com.facebook.stetho.inspector.protocol.ChromeDevtoolsDomain;
4037
import com.facebook.stetho.inspector.protocol.module.CSS;
@@ -66,6 +63,7 @@
6663
import java.util.List;
6764
import java.util.Set;
6865

66+
import javax.annotation.Nonnull;
6967
import javax.annotation.Nullable;
7068

7169
/**
@@ -122,13 +120,7 @@ protected Iterable<ChromeDevtoolsDomain> getInspectorModules() {
122120
public static void initialize(final Initializer initializer) {
123121
// Hook activity tracking so that after Stetho is attached we can figure out what
124122
// activities are present.
125-
boolean isTrackingActivities = ActivityTracker.get().beginTrackingIfPossible(
126-
(Application)initializer.mContext.getApplicationContext());
127-
if (!isTrackingActivities) {
128-
LogUtil.w("Automatic activity tracking not available on this API level, caller must invoke " +
129-
"ActivityTracker methods manually!");
130-
}
131-
123+
ActivityTracker.get().beginTracking((Application)initializer.mContext.getApplicationContext());
132124
initializer.start();
133125
}
134126

@@ -369,11 +361,9 @@ public Iterable<ChromeDevtoolsDomain> finish() {
369361
provideIfDesired(new Console());
370362
provideIfDesired(new Debugger());
371363
DocumentProviderFactory documentModel = resolveDocumentProvider();
372-
if (documentModel != null) {
373-
Document document = new Document(documentModel);
374-
provideIfDesired(new DOM(document));
375-
provideIfDesired(new CSS(document));
376-
}
364+
Document document = new Document(documentModel);
365+
provideIfDesired(new DOM(document));
366+
provideIfDesired(new CSS(document));
377367
provideIfDesired(new DOMStorage(mContext));
378368
provideIfDesired(new HeapProfiler());
379369
provideIfDesired(new Inspector());
@@ -408,15 +398,12 @@ public Iterable<ChromeDevtoolsDomain> finish() {
408398
return mDelegate.finish();
409399
}
410400

411-
@Nullable
401+
@Nonnull
412402
private DocumentProviderFactory resolveDocumentProvider() {
413403
if (mDocumentProvider != null) {
414404
return mDocumentProvider;
415405
}
416-
if (Build.VERSION.SDK_INT >= AndroidDocumentConstants.MIN_API_LEVEL) {
417-
return new AndroidDocumentProviderFactory(mContext, Collections.<DescriptorProvider>emptyList());
418-
}
419-
return null;
406+
return new AndroidDocumentProviderFactory(mContext, Collections.<DescriptorProvider>emptyList());
420407
}
421408
}
422409

stetho/src/main/java/com/facebook/stetho/common/android/FragmentCompatFramework.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020
import javax.annotation.Nullable;
2121

22-
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
2322
final class FragmentCompatFramework
2423
extends FragmentCompat<Fragment, DialogFragment, FragmentManager, Activity> {
2524
private static final FragmentAccessorFrameworkHoneycomb sFragmentAccessor;

stetho/src/main/java/com/facebook/stetho/common/android/FragmentCompatUtil.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,7 @@ private static Object findFragmentForViewInActivity(Activity activity, View view
5252
}
5353
}
5454

55-
// Try the actual Android runtime version if we are on a sufficiently high API level for it to
56-
// exist. Note that technically we can have both the support library and the framework
55+
// Use the actual Android runtime version. Note that technically we can have both the support library and the framework
5756
// version in the same object instance due to FragmentActivity extending Activity (which has
5857
// fragment support in the system).
5958
FragmentCompat framework = FragmentCompat.getFrameworkInstance();

stetho/src/main/java/com/facebook/stetho/dumpapp/plugins/SharedPreferencesDumperPlugin.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,25 @@
88
package com.facebook.stetho.dumpapp.plugins;
99

1010
import android.annotation.SuppressLint;
11-
import android.annotation.TargetApi;
1211
import android.content.Context;
1312
import android.content.SharedPreferences;
14-
import android.os.Build;
1513
import android.text.TextUtils;
14+
1615
import com.facebook.stetho.dumpapp.DumpUsageException;
1716
import com.facebook.stetho.dumpapp.DumperContext;
1817
import com.facebook.stetho.dumpapp.DumperPlugin;
1918
import com.facebook.stetho.inspector.domstorage.SharedPreferencesHelper;
2019

21-
import javax.annotation.Nonnull;
22-
import javax.annotation.Nullable;
2320
import java.io.File;
2421
import java.io.PrintStream;
2522
import java.util.HashSet;
2623
import java.util.Iterator;
2724
import java.util.List;
2825
import java.util.Map;
2926

27+
import javax.annotation.Nonnull;
28+
import javax.annotation.Nullable;
29+
3030
public class SharedPreferencesDumperPlugin implements DumperPlugin {
3131

3232
private static final String XML_SUFFIX = ".xml";
@@ -118,7 +118,6 @@ private static String nextArgValue(Iterator<String> iter) throws DumpUsageExcept
118118
return nextArg(iter, "Expected <value>");
119119
}
120120

121-
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
122121
private static void putStringSet(
123122
SharedPreferences.Editor editor,
124123
String key,

stetho/src/main/java/com/facebook/stetho/inspector/elements/android/ActivityTracker.java

Lines changed: 48 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,23 @@
77

88
package com.facebook.stetho.inspector.elements.android;
99

10-
import android.annotation.TargetApi;
1110
import android.app.Activity;
1211
import android.app.Application;
13-
import android.os.Build;
1412
import android.os.Bundle;
1513
import android.os.Looper;
16-
import com.facebook.stetho.common.Util;
1714

18-
import javax.annotation.Nullable;
19-
import javax.annotation.concurrent.GuardedBy;
20-
import javax.annotation.concurrent.NotThreadSafe;
15+
import com.facebook.stetho.common.Util;
2116

2217
import java.lang.ref.WeakReference;
2318
import java.util.ArrayList;
2419
import java.util.Collections;
2520
import java.util.List;
2621
import java.util.concurrent.CopyOnWriteArrayList;
2722

23+
import javax.annotation.Nullable;
24+
import javax.annotation.concurrent.GuardedBy;
25+
import javax.annotation.concurrent.NotThreadSafe;
26+
2827
/**
2928
* Tracks which {@link Activity} instances have been created and not yet destroyed in creation
3029
* order for use by Stetho features. Note that automatic tracking is not available for
@@ -34,6 +33,7 @@
3433
* <p/>
3534
* Most callers can and should ignore this class, though it is necessary if you are implementing
3635
* Activity tracking pre-ICS.
36+
* TODO: we now only support ICS+, is there still a need for this class?
3737
*/
3838
@NotThreadSafe
3939
public final class ActivityTracker {
@@ -66,22 +66,14 @@ public void unregisterListener(Listener listener) {
6666
}
6767

6868
/**
69-
* Start automatic tracking if we are running on ICS+.
70-
*
71-
* @return Automatic tracking has been started. No need to manually invoke {@link #add} or
72-
* {@link #remove} methods.
69+
* Start automatic tracking.
7370
*/
74-
public boolean beginTrackingIfPossible(Application application) {
71+
public void beginTracking(Application application) {
7572
if (mAutomaticTracker == null) {
76-
AutomaticTracker automaticTracker =
77-
AutomaticTracker.newInstanceIfPossible(application, this /* tracker */);
78-
if (automaticTracker != null) {
79-
automaticTracker.register();
80-
mAutomaticTracker = automaticTracker;
81-
return true;
82-
}
73+
AutomaticTracker automaticTracker = new AutomaticTracker(application, this /* tracker */);
74+
automaticTracker.register();
75+
mAutomaticTracker = automaticTracker;
8376
}
84-
return false;
8577
}
8678

8779
public boolean endTracking() {
@@ -146,76 +138,59 @@ public interface Listener {
146138
public void onActivityRemoved(Activity activity);
147139
}
148140

149-
private static abstract class AutomaticTracker {
150-
@Nullable
151-
public static AutomaticTracker newInstanceIfPossible(
152-
Application application,
153-
ActivityTracker tracker) {
154-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
155-
return new AutomaticTrackerICSAndBeyond(application, tracker);
156-
} else {
157-
return null;
158-
}
141+
private static class AutomaticTracker {
142+
private final Application mApplication;
143+
private final ActivityTracker mTracker;
144+
145+
public AutomaticTracker(Application application, ActivityTracker tracker) {
146+
mApplication = application;
147+
mTracker = tracker;
159148
}
160149

161-
public abstract void register();
162-
public abstract void unregister();
150+
public void register() {
151+
mApplication.registerActivityLifecycleCallbacks(mLifecycleCallbacks);
152+
}
163153

164-
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
165-
private static class AutomaticTrackerICSAndBeyond extends AutomaticTracker {
166-
private final Application mApplication;
167-
private final ActivityTracker mTracker;
154+
public void unregister() {
155+
mApplication.unregisterActivityLifecycleCallbacks(mLifecycleCallbacks);
156+
}
168157

169-
public AutomaticTrackerICSAndBeyond(Application application, ActivityTracker tracker) {
170-
mApplication = application;
171-
mTracker = tracker;
158+
private final Application.ActivityLifecycleCallbacks mLifecycleCallbacks =
159+
new Application.ActivityLifecycleCallbacks() {
160+
@Override
161+
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
162+
mTracker.add(activity);
172163
}
173164

174-
public void register() {
175-
mApplication.registerActivityLifecycleCallbacks(mLifecycleCallbacks);
176-
}
165+
@Override
166+
public void onActivityStarted(Activity activity) {
177167

178-
public void unregister() {
179-
mApplication.unregisterActivityLifecycleCallbacks(mLifecycleCallbacks);
180168
}
181169

182-
private final Application.ActivityLifecycleCallbacks mLifecycleCallbacks =
183-
new Application.ActivityLifecycleCallbacks() {
184-
@Override
185-
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
186-
mTracker.add(activity);
187-
}
188-
189-
@Override
190-
public void onActivityStarted(Activity activity) {
191-
192-
}
193-
194-
@Override
195-
public void onActivityResumed(Activity activity) {
170+
@Override
171+
public void onActivityResumed(Activity activity) {
196172

197-
}
173+
}
198174

199-
@Override
200-
public void onActivityPaused(Activity activity) {
175+
@Override
176+
public void onActivityPaused(Activity activity) {
201177

202-
}
178+
}
203179

204-
@Override
205-
public void onActivityStopped(Activity activity) {
180+
@Override
181+
public void onActivityStopped(Activity activity) {
206182

207-
}
183+
}
208184

209-
@Override
210-
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
185+
@Override
186+
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
211187

212-
}
188+
}
213189

214-
@Override
215-
public void onActivityDestroyed(Activity activity) {
216-
mTracker.remove(activity);
217-
}
218-
};
219-
}
190+
@Override
191+
public void onActivityDestroyed(Activity activity) {
192+
mTracker.remove(activity);
193+
}
194+
};
220195
}
221196
}

stetho/src/main/java/com/facebook/stetho/inspector/elements/android/AndroidDocumentConstants.java

Lines changed: 0 additions & 19 deletions
This file was deleted.

stetho/src/main/java/com/facebook/stetho/inspector/protocol/module/DOMStorage.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,9 @@
77

88
package com.facebook.stetho.inspector.protocol.module;
99

10-
import android.annotation.TargetApi;
1110
import android.content.Context;
1211
import android.content.SharedPreferences;
13-
import android.os.Build;
12+
1413
import com.facebook.stetho.inspector.console.CLog;
1514
import com.facebook.stetho.inspector.domstorage.DOMStoragePeerManager;
1615
import com.facebook.stetho.inspector.domstorage.SharedPreferencesHelper;
@@ -21,6 +20,7 @@
2120
import com.facebook.stetho.inspector.protocol.ChromeDevtoolsMethod;
2221
import com.facebook.stetho.json.ObjectMapper;
2322
import com.facebook.stetho.json.annotation.JsonProperty;
23+
2424
import org.json.JSONException;
2525
import org.json.JSONObject;
2626

@@ -160,17 +160,12 @@ private static void assignByType(
160160
} else if (value instanceof String) {
161161
editor.putString(key, (String)value);
162162
} else if (value instanceof Set) {
163-
putStringSet(editor, key, (Set<String>)value);
163+
editor.putStringSet(key, (Set<String>)value);
164164
} else {
165165
throw new IllegalArgumentException("Unsupported type=" + value.getClass().getName());
166166
}
167167
}
168168

169-
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
170-
private static void putStringSet(SharedPreferences.Editor editor, String key, Set<String> value) {
171-
editor.putStringSet(key, value);
172-
}
173-
174169
public static class StorageId {
175170
@JsonProperty(required = true)
176171
public String securityOrigin;

0 commit comments

Comments
 (0)