Skip to content

Commit 1cdbfdb

Browse files
committed
update gradle
1 parent 899c829 commit 1cdbfdb

3 files changed

Lines changed: 179 additions & 4 deletions

File tree

Lines changed: 176 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,194 @@
11
package cc.rome753.demo;
22

3+
import android.app.Activity;
34
import android.app.Application;
5+
import android.content.Context;
6+
import android.content.Intent;
7+
import android.os.Bundle;
8+
import android.support.v4.app.Fragment;
9+
import android.support.v4.app.FragmentActivity;
10+
import android.support.v4.app.FragmentManager;
11+
import android.util.Log;
12+
import android.view.View;
413

14+
import java.lang.reflect.Array;
15+
import java.util.ArrayList;
16+
import java.util.LinkedList;
17+
import java.util.List;
18+
19+
import cc.rome753.activitytask.AUtils;
520
import cc.rome753.activitytask.ActivityTask;
21+
import cc.rome753.activitytask.model.FragmentInfo;
22+
import cc.rome753.activitytask.model.TaskInfo;
23+
24+
import static android.view.View.GONE;
25+
import static android.view.View.VISIBLE;
26+
import static cc.rome753.activitytask.AUtils.getSimpleName;
627

728
/**
829
* Created by rome753@163.com on 2017/3/23.
930
*/
1031

1132
public class DemoApplication extends Application{
1233

34+
private static final String TAG = "ActivityTaskDemo";
35+
1336
@Override
1437
public void onCreate() {
1538
super.onCreate();
16-
ActivityTask.init(this, BuildConfig.DEBUG);
39+
40+
registerActivityLifecycleCallbacks(new ActivityLifecycleAdapter());
41+
}
42+
43+
private void sendBroadcast(String lifecycle, Activity activity, Fragment fragment) {
44+
Intent intent = new Intent("action_update_lifecycle");
45+
intent.putExtra("lifecycle", lifecycle);
46+
intent.putExtra("task", activity.getTaskId());
47+
intent.putExtra("activity", activity.toString());
48+
if(fragment != null) {
49+
intent.putStringArrayListExtra("fragments", getAllFragments(fragment));
50+
}
51+
sendBroadcast(intent);
52+
}
53+
54+
private ArrayList<String> getAllFragments(Fragment fragment){
55+
ArrayList<String> res = new ArrayList<>();
56+
while(fragment != null){
57+
res.add(AUtils.getSimpleName(fragment));
58+
fragment = fragment.getParentFragment();
59+
}
60+
return res;
61+
}
62+
63+
private class ActivityLifecycleAdapter implements Application.ActivityLifecycleCallbacks{
64+
65+
@Override
66+
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
67+
if(activity instanceof FragmentActivity){
68+
((FragmentActivity) activity).getSupportFragmentManager().registerFragmentLifecycleCallbacks(new FragmentLifecycleAdapter(), true);
69+
}
70+
String method = Thread.currentThread().getStackTrace()[2].getMethodName();
71+
sendBroadcast(method, activity, null);
72+
}
73+
74+
@Override
75+
public void onActivityStarted(Activity activity) {
76+
String method = Thread.currentThread().getStackTrace()[2].getMethodName();
77+
sendBroadcast(method, activity, null);
78+
}
79+
80+
@Override
81+
public void onActivityResumed(Activity activity) {
82+
String method = Thread.currentThread().getStackTrace()[2].getMethodName();
83+
sendBroadcast(method, activity, null);
84+
}
85+
86+
@Override
87+
public void onActivityPaused(Activity activity) {
88+
String method = Thread.currentThread().getStackTrace()[2].getMethodName();
89+
sendBroadcast(method, activity, null);
90+
}
91+
92+
@Override
93+
public void onActivityStopped(Activity activity) {
94+
String method = Thread.currentThread().getStackTrace()[2].getMethodName();
95+
sendBroadcast(method, activity, null);
96+
}
97+
98+
@Override
99+
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
100+
String method = Thread.currentThread().getStackTrace()[2].getMethodName();
101+
sendBroadcast(method, activity, null);
102+
}
103+
104+
@Override
105+
public void onActivityDestroyed(Activity activity) {
106+
String method = Thread.currentThread().getStackTrace()[2].getMethodName();
107+
sendBroadcast(method, activity, null);
108+
}
109+
}
110+
111+
112+
private class FragmentLifecycleAdapter extends FragmentManager.FragmentLifecycleCallbacks{
113+
114+
@Override
115+
public void onFragmentPreAttached(FragmentManager fm, Fragment f, Context context) {
116+
String method = Thread.currentThread().getStackTrace()[2].getMethodName();
117+
sendBroadcast(method, (Activity) context, f);
118+
}
119+
120+
@Override
121+
public void onFragmentAttached(FragmentManager fm, Fragment f, Context context) {
122+
String method = Thread.currentThread().getStackTrace()[2].getMethodName();
123+
sendBroadcast(method, (Activity) context, f);
124+
}
125+
126+
@Override
127+
public void onFragmentCreated(FragmentManager fm, Fragment f, Bundle savedInstanceState) {
128+
String method = Thread.currentThread().getStackTrace()[2].getMethodName();
129+
sendBroadcast(method, f.getActivity(), f);
130+
}
131+
132+
@Override
133+
public void onFragmentActivityCreated(FragmentManager fm, Fragment f, Bundle savedInstanceState) {
134+
String method = Thread.currentThread().getStackTrace()[2].getMethodName();
135+
sendBroadcast(method, f.getActivity(), f);
136+
}
137+
138+
@Override
139+
public void onFragmentViewCreated(FragmentManager fm, Fragment f, View v, Bundle savedInstanceState) {
140+
String method = Thread.currentThread().getStackTrace()[2].getMethodName();
141+
sendBroadcast(method, f.getActivity(), f);
142+
}
143+
144+
@Override
145+
public void onFragmentStarted(FragmentManager fm, Fragment f) {
146+
String method = Thread.currentThread().getStackTrace()[2].getMethodName();
147+
sendBroadcast(method, f.getActivity(), f);
148+
}
149+
150+
@Override
151+
public void onFragmentResumed(FragmentManager fm, Fragment f) {
152+
String method = Thread.currentThread().getStackTrace()[2].getMethodName();
153+
sendBroadcast(method, f.getActivity(), f);
154+
}
155+
156+
@Override
157+
public void onFragmentPaused(FragmentManager fm, Fragment f) {
158+
String method = Thread.currentThread().getStackTrace()[2].getMethodName();
159+
sendBroadcast(method, f.getActivity(), f);
160+
}
161+
162+
@Override
163+
public void onFragmentStopped(FragmentManager fm, Fragment f) {
164+
String method = Thread.currentThread().getStackTrace()[2].getMethodName();
165+
sendBroadcast(method, f.getActivity(), f);
166+
}
167+
168+
@Override
169+
public void onFragmentSaveInstanceState(FragmentManager fm, Fragment f, Bundle outState) {
170+
String method = Thread.currentThread().getStackTrace()[2].getMethodName();
171+
sendBroadcast(method, f.getActivity(), f);
172+
}
173+
174+
@Override
175+
public void onFragmentViewDestroyed(FragmentManager fm, Fragment f) {
176+
String method = Thread.currentThread().getStackTrace()[2].getMethodName();
177+
sendBroadcast(method, f.getActivity(), f);
178+
}
179+
180+
@Override
181+
public void onFragmentDestroyed(FragmentManager fm, Fragment f) {
182+
String method = Thread.currentThread().getStackTrace()[2].getMethodName();
183+
sendBroadcast(method, f.getActivity(), f);
184+
}
185+
186+
@Override
187+
public void onFragmentDetached(FragmentManager fm, Fragment f) {
188+
String method = Thread.currentThread().getStackTrace()[2].getMethodName();
189+
sendBroadcast(method, f.getActivity(), f);
190+
}
191+
17192
}
18193

19194
}

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ buildscript {
66
google()
77
}
88
dependencies {
9-
classpath 'com.android.tools.build:gradle:3.0.1'
9+
classpath 'com.android.tools.build:gradle:3.4.0'
1010

1111
// NOTE: Do not place your application dependencies here; they belong
1212
// in the individual module build.gradle files
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Fri May 11 16:37:09 CST 2018
1+
#Mon Sep 16 18:11:00 CST 2019
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip

0 commit comments

Comments
 (0)