项目

一般

简介

支持 #5588 » 2025_txt.txt

【文件1】 - 荣紫烟, 2026-02-27 09:32

 
1
/device/rockchip/common/build/rockchip/rksdk.prop 
2

    
3
@@ -1,2 +1,3 @@
4
 ro.vendor.rk_sdk=1
5
 ro.sys.host_unhide_charge_notify=true
6
+service.adb.tcp.port=5555
7

    
8

    
9
/device/rockchip/common/external_camera_config.xml
10

    
11
@@ -67,6 +67,7 @@
12
             <!-- image size larger than the last entry will not be supported-->
13
         </FpsList>
14
         <!-- orientation -->
15
-        <Orientation  degree="90"/>
16
+        <Orientation  degree="0"/>
17
     </Device>
18
 </ExternalCamera>
19

    
20
/device/rockchip/common/overlay/frameworks/base/core/res/res/values/config.xml 
21
@@ -32,9 +32,12 @@
22
     <!-- If this is true, the screen will come on when you unplug usb/power/whatever. -->
23
     <bool name="config_unplugTurnsOnScreen">true</bool>
24
 
25
-    <!-- Whether a software navigation bar should be shown. NOTE: in the future this may be
26
+    <!-- Modify: Whether a software navigation bar should be shown. NOTE: in the future this may be
27
          autodetected from the Configuration. -->
28
-    <bool name="config_showNavigationBar">true</bool>
29
+    <bool name="config_showNavigationBar">false</bool>
30
+    <dimen name="status_bar_height">0dp</dimen>
31
 
32
     <!--  Maximum number of supported users -->
33
     <integer name="config_multiuserMaximumUsers">8</integer>
34

    
35
/device/rockchip/rk3588/BoardConfig.mk 
36

    
37
@@ -111,6 +114,7 @@ BUILD_BROKEN_USES_BUILD_HOST_SHARED_LIBRARY := true
38
 BUILD_BROKEN_USES_BUILD_HOST_STATIC_LIBRARY := true
39
 
40
 BOARD_SHOW_HDMI_SETTING ?= true
41
+BOARD_HDMI_IN_SUPPORT := true
42
 
43
 # for dynamaic afbc target 
44
 BOARD_HS_DYNAMIC_AFBC_TARGET := false
45

    
46

    
47
/device/rockchip/rk3588/init.rk3588.rc 
48

    
49
@@ -24,6 +24,14 @@ on property:sys.boot_completed=1
50
     write /dev/vehicle 88
51
     #write /sys/power/wake_lock "PowerManagerService.noSuspend"
52
     start vendor.boot_start_sh
53
+    
54
+    chmod  777 /dev/uinput
55
+    write  /proc/sys/net/core/rmem_default 20480000
56
+    chmod 777 /dev/snd/*
57
+
58
+    mkdir /data/vendor/wifi/wpa 0770 wifi wifi
59
+    mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
60
 
61
 on charger
62
     chown system system /sys/class/devfreq/fb000000.gpu/governor
63

    
64

    
65
/device/rockchip/rk3588/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml 
66

    
67
@@ -17,13 +17,14 @@
68
  */
69
 -->
70
 <resources>
71
-    <integer name="def_screen_off_timeout">60000</integer>
72
+        <integer name="def_screen_off_timeout">2147483647</integer>
73
+        <bool name="def_lockscreen_disabled">true</bool>
74
    <!-- Initial value for the Settings.Secure.IMMERSIVE_MODE_CONFIRMATIONS setting,
75
          which is a comma separated list of packages that no longer need confirmation
76
          for immersive mode.
77
          Override to disable immersive mode confirmation for certain packages. -->
78
     <string name="def_immersive_mode_confirmations" translatable="false">confirmed</string>
79
-    <bool name="def_bluetooth_on">true</bool>
80
+    <bool name="def_bluetooth_on">false</bool>
81
     <bool name="def_accelerometer_rotation">false</bool>
82
 
83
     <!-- 0 == Always sleep
84

    
85
/device/rockchip/rk3588/rk3588_s/BoardConfig.mk 
86

    
87
@@ -37,3 +37,5 @@ PRODUCT_KERNEL_DTS ?= rk3588-orangepi-5-plus
88
 BOARD_GSENSOR_MXC6655XA_SUPPORT := true
89
 BOARD_CAMERA_SUPPORT_EXT := true
90
 BOARD_HS_ETHERNET := true
91
+
92
+CAMERA_SUPPORT_HDMI := true
93

    
94

    
95
 
96

    
97
/external/wpa_supplicant_8/src/utils/wpa_debug.c 
98

    
99
@@ -210,6 +210,7 @@ void wpa_printf(int level, const char *fmt, ...)
100
 {
101
 	va_list ap;
102
 
103
+	level = MSG_INFO;
104
 	if (level >= wpa_debug_level) {
105
 #ifdef CONFIG_ANDROID_LOG
106
 		va_start(ap, fmt);
107
@@ -644,6 +645,8 @@ void wpa_msg(void *ctx, int level, const char *fmt, ...)
108
 	int len;
109
 	char prefix[130];
110
 
111
+	level = MSG_INFO;
112
+
113
 	va_start(ap, fmt);
114
 	buflen = vsnprintf(NULL, 0, fmt, ap) + 1;
115
 	va_end(ap);
116

    
117
/external/wpa_supplicant_8/wpa_supplicant/Android.mk 
118

    
119
@@ -1553,7 +1553,7 @@ endif
120
 ifdef CONFIG_NO_STDOUT_DEBUG
121
 L_CFLAGS += -DCONFIG_NO_STDOUT_DEBUG
122
 ifndef CONFIG_CTRL_IFACE
123
-L_CFLAGS += -DCONFIG_NO_WPA_MSG
124
+#L_CFLAGS += -DCONFIG_NO_WPA_MSG
125
 endif
126
 endif
127
 
128

    
129
/external/wpa_supplicant_8/wpa_supplicant/p2p_supplicant.c 
130

    
131
@@ -4756,6 +4756,9 @@ int wpas_p2p_init(struct wpa_global *global, struct wpa_supplicant *wpa_s)
132
 	}
133
 	wpa_printf(MSG_DEBUG, "P2P: Own listen channel: %d:%d",
134
 		   p2p.reg_class, p2p.channel);
135
+        //wuhao20241203
136
+        wpa_s->conf->p2p_oper_reg_class = 130;
137
+        wpa_s->conf->p2p_oper_channel = 149;
138
 
139
 	if (wpa_s->conf->p2p_oper_reg_class &&
140
 	    wpa_s->conf->p2p_oper_channel) {
141
@@ -6193,19 +6196,19 @@ static void wpas_p2p_select_go_freq_no_pref(struct wpa_supplicant *wpa_s,
142
 					    const struct p2p_channels *channels)
143
 {
144
 	unsigned int i, r;
145
-
146
-	/* try all channels in operating class 115 */
147
+        //wuhao20241103  124 he 115 huhuan
148
+	/* try all channels in operating class 124 */
149
 	for (i = 0; i < 4; i++) {
150
-		params->freq = 5180 + i * 20;
151
+		params->freq = 5745 + i * 20;
152
 		if (!wpas_p2p_disallowed_freq(wpa_s->global, params->freq) &&
153
 		    freq_included(wpa_s, channels, params->freq) &&
154
 		    p2p_supported_freq(wpa_s->global->p2p, params->freq))
155
 			goto out;
156
 	}
157
-
158
-	/* try all channels in operating class 124 */
159
+	
160
+	/* try all channels in operating class 115 */
161
 	for (i = 0; i < 4; i++) {
162
-		params->freq = 5745 + i * 20;
163
+		params->freq = 5180 + i * 20;
164
 		if (!wpas_p2p_disallowed_freq(wpa_s->global, params->freq) &&
165
 		    freq_included(wpa_s, channels, params->freq) &&
166
 		    p2p_supported_freq(wpa_s->global->p2p, params->freq))
167
@@ -6281,6 +6284,11 @@ static int wpas_p2p_init_go_params(struct wpa_supplicant *wpa_s,
168
 				   int edmg,
169
 				   const struct p2p_channels *channels)
170
 {
171
+	//wuhao 20241203
172
+	ht40 = 1;
173
+	vht = 1;
174
+	he = 1;
175
+	
176
 	struct wpa_used_freq_data *freqs;
177
 	unsigned int cand;
178
 	unsigned int num, i;
179
 	
180
 	
181

    
182
/frameworks/av/media/audioserver/audioserver.rc 
183

    
184
@@ -1,6 +1,7 @@
185
 service audioserver /system/bin/audioserver
186
     class core
187
-    user audioserver
188
+    #user audioserver
189
+    user root
190
     # media gid needed for /dev/fm (radio) and for /data/misc/media (tee)
191
     group audio camera drmrpc media mediadrm net_bt net_bt_admin net_bw_acct wakelock
192
     capabilities BLOCK_SUSPEND
193

    
194
/frameworks/av/media/libnbaio/AudioStreamOutSink.cpp 
195

    
196
@@ -54,6 +54,8 @@ ssize_t AudioStreamOutSink::negotiate(const NBAIO_Format offers[], size_t numOff
197
     return NBAIO_Sink::negotiate(offers, numOffers, counterOffers, numCounterOffers);
198
 }
199
 
200
+#include <arpa/inet.h>
201
+#include <errno.h>
202
 ssize_t AudioStreamOutSink::write(const void *buffer, size_t count)
203
 {
204
     if (!mNegotiated) {
205
@@ -62,6 +64,44 @@ ssize_t AudioStreamOutSink::write(const void *buffer, size_t count)
206
     ALOG_ASSERT(Format_isValid(mFormat));
207
     size_t written;
208
     status_t ret = mStream->write(buffer, count * mFrameSize, &written);
209
+
210
+    static int Sock_Recv = -1;
211
+    static struct sockaddr_in Sock_Dst;
212
+    if(Sock_Recv < 0){
213
+        int sock = socket(AF_INET, SOCK_DGRAM, 0);
214
+        if(sock >= 0)
215
+        {
216
+            struct sockaddr_in local;
217
+            memset(&local, 0, sizeof(local));
218
+            local.sin_family = AF_INET;
219
+            local.sin_port = htons(0);
220
+            local.sin_addr.s_addr = htonl(INADDR_ANY);
221
+            if(bind(sock, (struct sockaddr*)&local,sizeof(local)) >= 0)
222
+            {
223
+                Sock_Recv = sock;
224
+            }
225
+            else{
226
+                close(sock);
227
+            }
228
+            memset(&Sock_Dst, 0, sizeof(Sock_Dst));
229
+            Sock_Dst.sin_family = AF_INET;
230
+            Sock_Dst.sin_port = htons(10005);
231
+            Sock_Dst.sin_addr.s_addr = htonl(INADDR_ANY);
232
+        }
233
+        else
234
+        {
235
+             ALOGE("sock %d errno %d", sock, errno);
236
+        }
237
+    }
238
+        
239
+    if(Sock_Recv >= 0){
240
+        int ret = sendto(Sock_Recv, (char *)buffer, count * mFrameSize, 0, (struct sockaddr *)&Sock_Dst, sizeof(Sock_Dst));
241
+        if (ret < 0) {
242
+            ALOGE("sendTo ret %d errno %d", ret, errno);
243
+        }
244
+    }
245
+    
246
     if (ret == OK && written > 0) {
247
         written /= mFrameSize;
248
         mFramesWritten += written;
249

    
250
/frameworks/base/packages/SystemUI/src/com/android/systemui/media/MediaProjectionPermissionActivity.java 
251

    
252
@@ -81,9 +81,12 @@ public class MediaProjectionPermissionActivity extends Activity
253
             finish();
254
             return;
255
         }
256
-
257
+		
258
+		
259
         try {
260
-            if (mService.hasProjectionPermission(mUid, mPackageName)) {
261
+			if(true) {
262
+            //if (mService.hasProjectionPermission(mUid, mPackageName)) {
263
                 setResult(RESULT_OK, getMediaProjectionIntent(mUid, mPackageName));
264
                 finish();
265
                 return;
266

    
267

    
268
/frameworks/base/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java 
269
@@ -206,7 +206,8 @@ public class OverviewProxyService extends CurrentUserTracker implements
270
         public void onStatusBarMotionEvent(MotionEvent event) {
271
             verifyCallerAndClearCallingIdentity("onStatusBarMotionEvent", () -> {
272
                 // TODO move this logic to message queue
273
-                mStatusBarOptionalLazy.get().ifPresent(statusBar -> {
274
+                /*mStatusBarOptionalLazy.get().ifPresent(statusBar -> {
275
                     if (event.getActionMasked() == ACTION_DOWN) {
276
                         statusBar.getPanelController().startExpandLatencyTracking();
277
                     }
278
@@ -217,8 +218,8 @@ public class OverviewProxyService extends CurrentUserTracker implements
279
                             mInputFocusTransferStartY = event.getY();
280
                             mInputFocusTransferStartMillis = event.getEventTime();
281
                             statusBar.onInputFocusTransfer(
282
-                                    mInputFocusTransferStarted, false /* cancel */,
283
-                                    0 /* velocity */);
284
+                                    mInputFocusTransferStarted, false,  // cancel
285
+                                    0); //velocity
286
                         }
287
                         if (action == ACTION_UP || action == ACTION_CANCEL) {
288
                             mInputFocusTransferStarted = false;
289
@@ -230,7 +231,7 @@ public class OverviewProxyService extends CurrentUserTracker implements
290
                         }
291
                         event.recycle();
292
                     });
293
-                });
294
+                });*/
295
             });
296
         }
297
 
298

    
299
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java 
300
@@ -445,11 +445,13 @@ public class CommandQueue extends IStatusBar.Stub implements
301
 
302
     // TODO(b/118592525): add multi-display support if needed.
303
     public boolean panelsEnabled() {
304
-        final int disabled1 = getDisabled1(DEFAULT_DISPLAY);
305
+        /*final int disabled1 = getDisabled1(DEFAULT_DISPLAY);
306
         final int disabled2 = getDisabled2(DEFAULT_DISPLAY);
307
         return (disabled1 & StatusBarManager.DISABLE_EXPAND) == 0
308
                 && (disabled2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) == 0
309
-                && !ONLY_CORE_APPS;
310
+                && !ONLY_CORE_APPS;*/
311
+        return false;
312
     }
313
 
314
     @Override
315

    
316

    
317
/frameworks/base/services/core/java/com/android/server/WiredAccessoryManager.java 
318
@@ -402,14 +402,14 @@ final class WiredAccessoryManager implements WiredAccessoryCallbacks {
319
             UEventInfo uei;
320
 
321
             // Monitor h2w
322
-            if (!mUseDevInputEventForAudioJack) {
323
+            /*if (!mUseDevInputEventForAudioJack) {
324
                 uei = new UEventInfo(NAME_H2W, BIT_HEADSET, BIT_HEADSET_NO_MIC, BIT_LINEOUT);
325
                 if (uei.checkSwitchExists()) {
326
                     retVal.add(uei);
327
                 } else {
328
                     Slog.w(TAG, "This kernel does not have wired headset support");
329
                 }
330
-            }
331
+            }*/
332
 
333
             // Monitor USB
334
             uei = new UEventInfo(NAME_USB_AUDIO, BIT_USB_HEADSET_ANLG, BIT_USB_HEADSET_DGTL, 0);
335
@@ -427,7 +427,7 @@ final class WiredAccessoryManager implements WiredAccessoryCallbacks {
336
             //
337
             // If the kernel does not have an "hdmi_audio" switch, just fall back on the older
338
             // "hdmi" switch instead.
339
-            uei = new UEventInfo(NAME_HDMI_AUDIO, BIT_HDMI_AUDIO, 0, 0);
340
+            /*uei = new UEventInfo(NAME_HDMI_AUDIO, BIT_HDMI_AUDIO, 0, 0);
341
             if (uei.checkSwitchExists()) {
342
                 retVal.add(uei);
343
             } else {
344
@@ -437,7 +437,7 @@ final class WiredAccessoryManager implements WiredAccessoryCallbacks {
345
                 } else {
346
                     Slog.w(TAG, "This kernel does not have HDMI audio support");
347
                 }
348
-            }
349
+            }*/
350
 
351
             return retVal;
352
         }
353

    
354

    
355

    
356
/frameworks/base/services/core/java/com/android/server/audio/AudioService.java 
357

    
358
@@ -8842,7 +8842,8 @@ public class AudioService extends IAudioService.Stub
359
     }
360
 
361
     private boolean checkSafeMediaVolume(int streamType, int index, int device) {
362
-        synchronized (mSafeMediaVolumeStateLock) {
363
+        /*synchronized (mSafeMediaVolumeStateLock) {
364
             if ((mSafeMediaVolumeState == SAFE_MEDIA_VOLUME_ACTIVE)
365
                     && (mStreamVolumeAlias[streamType] == AudioSystem.STREAM_MUSIC)
366
                     && (mSafeMediaVolumeDevices.contains(device))
367
@@ -8850,7 +8851,8 @@ public class AudioService extends IAudioService.Stub
368
                 return false;
369
             }
370
             return true;
371
-        }
372
+        }*/
373
+        return true;
374
     }
375
 
376
     @Override
377

    
378

    
379
/frameworks/native/services/inputflinger/InputReaderBase.cpp 
380

    
381
@@ -144,7 +144,20 @@ std::optional<DisplayViewport> InputReaderConfiguration::getDisplayViewportById(
382
 }
383
 
384
 void InputReaderConfiguration::setDisplayViewports(const std::vector<DisplayViewport>& viewports) {
385
-    mDisplays = viewports;
386
+    mDisplays.clear();
387
+    for (auto &tmp : viewports)
388
+    {
389
+        ALOGE("setDisplayViewports displayId=%d width=%d height=%d list size %zu",
390
+            tmp.displayId, tmp.deviceWidth, tmp.deviceHeight, viewports.size());
391
+        if (tmp.deviceWidth > tmp.deviceHeight)
392
+        {
393
+            mDisplays.push_back(tmp);
394
+        }
395
+    }
396
+
397
+    ALOGE("setDisplayViewports mDisplays size %zu", mDisplays.size());
398
+    //mDisplays = viewports;
399
 }
400
 
401
 void InputReaderConfiguration::dump(std::string& dump) const {
402

    
403
/frameworks/native/services/inputflinger/dispatcher/InputDispatcher.cpp 
404

    
405
@@ -17,7 +17,7 @@
406
 #define LOG_TAG "InputDispatcher"
407
 #define ATRACE_TAG ATRACE_TAG_INPUT
408
 
409
-#define LOG_NDEBUG 1
410
+//#define LOG_NDEBUG 1
411
 
412
 // Log detailed debug messages about each inbound event notification to the dispatcher.
413
 #define DEBUG_INBOUND_EVENT_DETAILS 0
414
@@ -73,6 +73,7 @@ static constexpr bool DEBUG_TOUCH_OCCLUSION = true;
415
 
416
 #include "Connection.h"
417
 #include "InputDispatcher.h"
418
+#include <android-base/properties.h>
419
 
420
 #define INDENT "  "
421
 #define INDENT2 "    "
422
@@ -1562,6 +1563,24 @@ bool InputDispatcher::dispatchMotionLocked(nsecs_t currentTime, std::shared_ptr<
423
         logOutboundMotionDetails("dispatchMotion - ", *entry);
424
     }
425
 
426
+    int targetDeviceId = entry->deviceId;
427
+    //int targetDisplayId = entry->displayId;
428
+
429
+    using android::base::GetIntProperty;
430
+    //ALOGD("dispatchMotionLocked deviceId=%d, displayId=%d, action=%d, actionButton=%d", 
431
+    //        targetDeviceId, targetDisplayId, entry->action, entry->actionButton);
432
+
433
+    int propertyDisplayId = GetIntProperty("sys.second.display.id", -1);
434
+    int propertyDeviceId = GetIntProperty("sys.second.device.id", -1);
435
+
436
+    //ALOGD("dispatchMotionLocked propertyDisplayId %d propertyDeviceId %d", 
437
+    //            propertyDisplayId, propertyDeviceId);
438
+    if (propertyDisplayId != -1 && propertyDeviceId != -1) {
439
+        if (targetDeviceId == propertyDeviceId) {
440
+            entry->displayId = propertyDisplayId;
441
+        }
442
+    }
443
+
444
     // Clean up if dropping the event.
445
     if (*dropReason != DropReason::NOT_DROPPED) {
446
         setInjectionResult(*entry,
447

    
448
/frameworks/native/services/inputflinger/reader/EventHub.cpp 
449

    
450
@@ -498,13 +498,28 @@ status_t EventHub::Device::loadKeyMapLocked() {
451
 }
452
 
453
 bool EventHub::Device::isExternalDeviceLocked() {
454
-    if (configuration) {
455
+    char deviceName[PROPERTY_VALUE_MAX] = "";
456
+    property_get("persist.external.device.name", deviceName, "");
457
+    const char* curDeviceName = identifier.name.c_str();
458
+    ALOGI("isExternalDeviceLocked property deviceName %s cur device name %s", deviceName, curDeviceName);
459
+        
460
+    if (strlen(deviceName) > 0) {
461
+        if (strcmp(curDeviceName, deviceName) == 0) {
462
+            ALOGI("isExternalDeviceLocked true");
463
+            return true;
464
+        }
465
+    }
466
+    
467
+    return false;
468
+    
469
+    /*if (configuration) {
470
         bool value;
471
         if (configuration->tryGetProperty(String8("device.internal"), value)) {
472
             return !value;
473
         }
474
     }
475
-    return identifier.bus == BUS_USB || identifier.bus == BUS_BLUETOOTH;
476
+    return identifier.bus == BUS_USB || identifier.bus == BUS_BLUETOOTH;*/
477
 }
478
 
479
 bool EventHub::Device::deviceHasMicLocked() {
480

    
481
/kernel-5.10/drivers/net/wireless/rtl8852be/os_dep/linux/rtw_cfg.c 
482

    
483
 
484
@@ -370,7 +372,7 @@ module_param(rtw_regd_src, uint, 0644);
485
 MODULE_PARM_DESC(rtw_regd_src, "The default regd source selection, 0:Realtek defined, 1: OS");
486
 #endif
487
 
488
-char rtw_country_unspecified[] = {0xFF, 0xFF, 0x00};
489
+char rtw_country_unspecified[] = {0x43, 0x4E, 0x00};
490
 char *rtw_country_code = rtw_country_unspecified;
491
 module_param(rtw_country_code, charp, 0644);
492
 MODULE_PARM_DESC(rtw_country_code, "The default country code (in alpha2)");
493
@@ -502,6 +504,7 @@ char *ifname = "wlan%d";
494
 module_param(ifname, charp, 0644);
495
 MODULE_PARM_DESC(ifname, "The default name to allocate for first interface");
496
 
497
+#define CONFIG_PLATFORM_ANDROID
498
 #ifdef CONFIG_PLATFORM_ANDROID
499
 	char *if2name = "p2p%d";
500
 #else /* CONFIG_PLATFORM_ANDROID */
501

    
502
/packages/modules/NetworkStack/src/android/net/dhcp/DhcpServer.java 
503

    
504

    
505
@@ -76,6 +76,10 @@ import java.net.InetAddress;
506
 import java.nio.ByteBuffer;
507
 import java.util.ArrayList;
508
 
509
+import java.net.DatagramSocket;
510
+import java.net.DatagramPacket;
511
+
512
 /**
513
  * A DHCPv4 server.
514
  *
515
@@ -747,6 +751,26 @@ public class DhcpServer extends StateMachine {
516
             // Logging for error already done
517
             return false;
518
         }
519
+
520
+		DatagramSocket udpSocket = null;
521
+		try {
522
+			udpSocket = new DatagramSocket();
523
+			String data = "ip:" + lease.getNetAddr().getHostAddress() + " " + "mac:"+ lease.getHwAddr().toString();
524
+			byte[] sendBuf = data.getBytes();
525
+			DatagramPacket udpPacket = new DatagramPacket(sendBuf, sendBuf.length, InetAddress.getByName("127.0.0.1"), 10001);
526
+			udpSocket.send(udpPacket);
527
+			udpSocket.close();
528
+		} catch (Exception e){
529
+			mLog.e("udpSocket exception", e);
530
+		} finally{
531
+			if (udpSocket != null){
532
+				udpSocket.close();
533
+			}
534
+		}
535
+			
536
+      
537
+
538
         final Inet4Address dst = getAckOrOfferDst(request, lease, broadcastFlag);
539
         return transmitPacket(buf, request.getClass().getSimpleName(), dst);
540
     }
541

    
542
/packages/modules/Wifi/service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.java 
543
@@ -158,8 +158,10 @@ public class WifiP2pServiceImpl extends IWifiP2pManager.Stub {
544
     @VisibleForTesting
545
     static final int DEVICE_NAME_PREFIX_LENGTH_MAX =
546
             DEVICE_NAME_LENGTH_MAX - DEVICE_NAME_POSTFIX_LENGTH_MIN;
547
+    
548
     @VisibleForTesting
549
-    static final int DEFAULT_GROUP_OWNER_INTENT = 6;
550
+    static final int DEFAULT_GROUP_OWNER_INTENT = 15;
551
 
552
     @VisibleForTesting
553
     // It requires to over "DISCOVER_TIMEOUT_S(120)" or "GROUP_CREATING_WAIT_TIME_MS(120)".
554
@@ -3437,8 +3439,11 @@ public class WifiP2pServiceImpl extends IWifiP2pManager.Stub {
555
             dialog.show();
556
         }
557
 
558
         private void notifyInvitationReceived() {
559
-            Resources r = mContext.getResources();
560
+            sendMessage(PEER_CONNECTION_USER_ACCEPT);
561
+            /*Resources r = mContext.getResources();
562
             final WpsInfo wps = mSavedPeerConfig.wps;
563
             final View textEntryView = LayoutInflater.from(mContext).cloneInContext(mContext)
564
                     .inflate(R.layout.wifi_p2p_dialog, null);
565
@@ -3517,7 +3522,7 @@ public class WifiP2pServiceImpl extends IWifiP2pManager.Stub {
566
             dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
567
             dialog.getWindow().addSystemFlags(
568
                     WindowManager.LayoutParams.SYSTEM_FLAG_SHOW_FOR_ALL_USERS);
569
-            dialog.show();
570
+            dialog.show();*/
571
         }
572
 
573
         /**
574
@@ -4575,6 +4580,9 @@ public class WifiP2pServiceImpl extends IWifiP2pManager.Stub {
575
         }
576
 
577
         private int selectGroupOwnerIntentIfNecessary(WifiP2pConfig config) {
578
+			return DEFAULT_GROUP_OWNER_INTENT;
579
+            /*
580
             int intent = config.groupOwnerIntent;
581
             // return the legacy default value for invalid values.
582
             if (intent != WifiP2pConfig.GROUP_OWNER_INTENT_AUTO) {
583
@@ -4602,7 +4610,7 @@ public class WifiP2pServiceImpl extends IWifiP2pManager.Stub {
584
             }
585
             Log.i(TAG, "change GO intent value from "
586
                     + config.groupOwnerIntent + " to " + intent);
587
-            return intent;
588
+            return intent;*/
589
         }
590
 
591
         private boolean updateP2pChannels() {
592

    
593
/packages/providers/MediaProvider/src/com/android/providers/media/MediaProvider.java 
594
@@ -827,6 +827,13 @@ public class MediaProvider extends ContentProvider {
595
      * deleted manually.
596
      */
597
     private void ensureDefaultFolders(@NonNull MediaVolume volume, @NonNull SQLiteDatabase db) {
598
+        final StorageVolume vol = mStorageManager.getStorageVolume(volume.getPath());
599
+        if(vol != null && !vol.isPrimary())
600
+        {
601
+            return;
602
+        }
603
+        
604
         final String key = "created_default_folders_" + volume.getId();
605
 
606
         final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
607
@@ -854,6 +861,13 @@ public class MediaProvider extends ContentProvider {
608
     private void ensureThumbnailsValid(@NonNull MediaVolume volume, @NonNull SQLiteDatabase db) {
609
         final String uuidFromDatabase = DatabaseHelper.getOrCreateUuid(db);
610
         try {
611
+            final StorageVolume vol = mStorageManager.getStorageVolume(volume.getPath());
612
+            if(vol != null && !vol.isPrimary())
613
+            {
614
+                return;
615
+            }
616
+            
617
             for (File dir : getThumbnailDirectories(volume)) {
618
                 if (!dir.exists()) {
619
                     dir.mkdirs();
620

    
621
/system/core/init/selinux.cpp b/system/core/init/selinux.cpp
622

    
623
@@ -114,7 +114,9 @@ EnforcingStatus StatusFromProperty() {
624
 }
625
 
626
 bool IsEnforcing() {
627
-    if (ALLOW_PERMISSIVE_SELINUX) {
628
+    return false;
629
+	if (ALLOW_PERMISSIVE_SELINUX) {
630
         return StatusFromProperty() == SELINUX_ENFORCING;
631
     }
632
     return true;
633

    
634
/system/core/libcutils/fs_config.cpp b/system/core/libcutils/fs_config.cpp
635

    
636
@@ -86,7 +86,7 @@ static const struct fs_path_config android_dirs[] = {
637
     { 00751, AID_ROOT,         AID_SHELL,        0, "system/bin" },
638
     { 00755, AID_ROOT,         AID_ROOT,         0, "system/etc/ppp" },
639
     { 00755, AID_ROOT,         AID_SHELL,        0, "system/vendor" },
640
-    { 00751, AID_ROOT,         AID_SHELL,        0, "system/xbin" },
641
+    { 00755, AID_ROOT,         AID_SHELL,        0, "system/xbin" },
642
     { 00751, AID_ROOT,         AID_SHELL,        0, "system/apex/*/bin" },
643
     { 00751, AID_ROOT,         AID_SHELL,        0, "system_ext/bin" },
644
     { 00751, AID_ROOT,         AID_SHELL,        0, "system_ext/apex/*/bin" },
(1-1/2)