Skip to content

Commit 4e2bad2

Browse files
committed
see 03/10 log
1 parent fe9b0a2 commit 4e2bad2

File tree

5 files changed

+65
-36
lines changed

5 files changed

+65
-36
lines changed

lib/base/src/main/java/com/blankj/lib/base/BaseApplication.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,7 @@ import android.support.multidex.MultiDex
66
import com.blankj.utilcode.util.AppUtils
77
import com.blankj.utilcode.util.CrashUtils
88
import com.blankj.utilcode.util.LogUtils
9-
<<<<<<< HEAD
109
import com.blankj.utilcode.util.MessengerUtils
11-
=======
12-
import com.blankj.utilcode.util.ProcessUtils
13-
>>>>>>> master
1410
import com.squareup.leakcanary.LeakCanary
1511

1612
/**

utilcode/lib/src/main/java/com/blankj/utilcode/util/MessengerUtils.java

Lines changed: 38 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import android.support.annotation.NonNull;
1717
import android.support.annotation.Nullable;
1818
import android.text.TextUtils;
19+
import android.util.Log;
1920

2021
import java.util.ArrayList;
2122
import java.util.LinkedList;
@@ -44,11 +45,11 @@ public class MessengerUtils {
4445

4546
public static void init() {
4647
if (isMainProcess()) {
47-
LogUtils.e();
48+
LogUtils.e("init " + getCurrentProcessName());
4849
Intent intent = new Intent(Utils.getApp(), ServerService.class);
4950
Utils.getApp().startService(intent);
5051
} else {
51-
LogUtils.e();
52+
LogUtils.e("init " + getCurrentProcessName());
5253
registerClient();
5354
}
5455
}
@@ -79,14 +80,14 @@ public static void unsubscribe(String key) {
7980
public static void post(@NonNull String key, @NonNull Bundle data) {
8081
data.putString(KEY_STRING, key);
8182
if (sLocalClient != null) {
82-
sLocalClient.sendMsg(data);
83+
sLocalClient.sendMsg2Server(data);
8384
} else {
8485
Intent intent = new Intent(Utils.getApp(), ServerService.class);
8586
intent.putExtras(data);
8687
Utils.getApp().startService(intent);
8788
}
8889
// if (otherAppClient != null) {
89-
// otherAppClient.sendMsg(data);
90+
// otherAppClient.sendMsg2Server(data);
9091
// }
9192
}
9293

@@ -149,16 +150,18 @@ public void onServiceConnected(ComponentName name, IBinder service) {
149150
try {
150151
mServer.send(subscribeMsg);
151152
} catch (RemoteException e) {
152-
e.printStackTrace();
153+
Log.e("MessengerUtils", "onServiceConnected: ", e);
153154
}
154-
sendCachedMsg();
155+
sendCachedMsg2Server();
155156
}
156157

157158
@Override
158159
public void onServiceDisconnected(ComponentName name) {
159-
LogUtils.d("client service disconnected", name);
160+
Log.w("MessengerUtils", "client service disconnected:" + name);
160161
mServer = null;
161-
// connect();
162+
if (!bind()) {
163+
Log.e("MessengerUtils", "client service rebind failed: " + name);
164+
}
162165
}
163166
};
164167

@@ -181,26 +184,37 @@ void unbind() {
181184
Utils.getApp().unbindService(mConn);
182185
}
183186

184-
void sendMsg(Bundle bundle) {
185-
if (mServer != null) {
186-
sendCachedMsg();
187-
Message msg = Message.obtain(mHandler, SEND_MSG_TO_TARGET);
188-
msg.setData(bundle);
189-
msg.replyTo = mClient;
190-
try {
191-
mServer.send(msg);
192-
} catch (RemoteException e) {
193-
e.printStackTrace();
194-
}
195-
} else {
187+
void sendMsg2Server(Bundle bundle) {
188+
if (mServer == null) {
196189
mCached.addFirst(bundle);
190+
LogUtils.d("save the bundle", bundle);
191+
} else {
192+
sendCachedMsg2Server();
193+
if (!send2Server(bundle)) {
194+
mCached.addFirst(bundle);
195+
}
197196
}
198197
}
199198

200-
private void sendCachedMsg() {
201-
for (int i = mCached.size() - 1; i >= 0; i--) {
202-
sendMsg(mCached.get(i));
203-
mCached.remove(i);
199+
private void sendCachedMsg2Server() {
200+
if (mCached.isEmpty()) return;
201+
for (int i = mCached.size() - 1; i >= 0; --i) {
202+
if (send2Server(mCached.get(i))) {
203+
mCached.remove(i);
204+
}
205+
}
206+
}
207+
208+
private boolean send2Server(Bundle bundle) {
209+
Message msg = Message.obtain(mHandler, SEND_MSG_TO_TARGET);
210+
msg.setData(bundle);
211+
msg.replyTo = mClient;
212+
try {
213+
mServer.send(msg);
214+
return true;
215+
} catch (RemoteException e) {
216+
Log.e("MessengerUtils", "send2Server: ", e);
217+
return false;
204218
}
205219
}
206220
}

utilcode/pkg/src/main/AndroidManifest.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,14 @@
3838
<application>
3939
<activity
4040
android:name=".feature.CoreUtilActivity"
41-
android:launchMode="singleTop"
42-
android:process=":remote" />
41+
android:launchMode="singleTop" />
4342

4443
<activity
4544
android:name=".feature.activity.ActivityActivity"
4645
android:icon="@drawable/activity_activity_icon"
4746
android:launchMode="singleTop"
48-
android:logo="@drawable/activity_activity_logo" />
47+
android:logo="@drawable/activity_activity_logo"
48+
android:process=":remote" />
4949
<activity
5050
android:name=".feature.activity.SubActivityActivity"
5151
android:launchMode="singleTop" />

utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/CoreUtilActivity.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ import com.blankj.utilcode.pkg.feature.span.SpanActivity
3535
import com.blankj.utilcode.pkg.feature.toast.ToastActivity
3636
import com.blankj.utilcode.pkg.feature.vibrate.VibrateActivity
3737
import com.blankj.utilcode.util.BusUtils
38+
import com.blankj.utilcode.util.LogUtils
39+
import com.blankj.utilcode.util.MessengerUtils
3840

3941
/**
4042
* ```
@@ -61,6 +63,11 @@ class CoreUtilActivity : BaseTitleBarActivity() {
6163
override fun initData(bundle: Bundle?) {}
6264

6365
override fun bindLayout(): Int {
66+
MessengerUtils.subscribe("core", object: MessengerUtils.MessageCallback {
67+
override fun onMsgCallBack(data: Bundle?) {
68+
LogUtils.eTag("Messenger", data)
69+
}
70+
})
6471
return R.layout.activity_util_core
6572
}
6673

utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/activity/ActivityActivity.kt

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,7 @@ import android.view.Window
1212
import com.blankj.lib.base.BaseTitleBarActivity
1313
import com.blankj.utilcode.pkg.R
1414
import com.blankj.utilcode.pkg.feature.CoreUtilActivity
15-
import com.blankj.utilcode.util.ActivityUtils
16-
import com.blankj.utilcode.util.AppUtils
17-
import com.blankj.utilcode.util.LogUtils
18-
import com.blankj.utilcode.util.SpanUtils
15+
import com.blankj.utilcode.util.*
1916
import kotlinx.android.synthetic.main.activity_activity.*
2017
import java.util.*
2118

@@ -51,6 +48,16 @@ class ActivityActivity : BaseTitleBarActivity() {
5148
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
5249
window.requestFeature(Window.FEATURE_CONTENT_TRANSITIONS)
5350
}
51+
var bundle = Bundle()
52+
bundle.putString("activity", "ActivityActivity");
53+
MessengerUtils.post("core", bundle)
54+
55+
MessengerUtils.subscribe("activity", object: MessengerUtils.MessageCallback {
56+
override fun onMsgCallBack(data: Bundle?) {
57+
LogUtils.eTag("Messenger", data)
58+
}
59+
})
60+
5461
return R.layout.activity_activity
5562
}
5663

@@ -106,7 +113,12 @@ class ActivityActivity : BaseTitleBarActivity() {
106113

107114
override fun onWidgetClick(view: View) {
108115
when (view.id) {
109-
R.id.activityClzBtn -> ActivityUtils.startActivity(SubActivityActivity::class.java)
116+
R.id.activityClzBtn -> {
117+
var bundle = Bundle()
118+
bundle.putString("activity", "ActivityActivity");
119+
MessengerUtils.post("activity", bundle)
120+
}
121+
// R.id.activityClzBtn -> ActivityUtils.startActivity(SubActivityActivity::class.java)
110122
R.id.activityClzOptBtn -> ActivityUtils.startActivity(SubActivityActivity::class.java,
111123
getOption(random.nextInt(5)))
112124
R.id.activityClzAnimBtn -> ActivityUtils.startActivity(SubActivityActivity::class.java,

0 commit comments

Comments
 (0)