|
21 | 21 | <uses-permission android:name="android.permission.INTERNET" /> |
22 | 22 |
|
23 | 23 | <!-- Permissions required by the sync adapter --> |
24 | | - <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" /> |
25 | | - <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" /> |
26 | | - <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" /> |
| 24 | + <uses-permission |
| 25 | + android:name="android.permission.READ_SYNC_SETTINGS"/> |
| 26 | + <uses-permission |
| 27 | + android:name="android.permission.WRITE_SYNC_SETTINGS"/> |
| 28 | + <uses-permission |
| 29 | + android:name="android.permission.AUTHENTICATE_ACCOUNTS"/> |
27 | 30 |
|
28 | 31 | <!-- Permissions required to make our UI more friendly --> |
29 | | - <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> |
| 32 | + <uses-permission |
| 33 | + android:name="android.permission.ACCESS_NETWORK_STATE" /> |
30 | 34 |
|
31 | 35 | <!-- Permissions required for Google Cloud Messaging --> |
| 36 | + <uses-permission android:name="android.permission.WAKE_LOCK" /> |
32 | 37 | <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> |
33 | | - <permission |
34 | | - android:name="com.example.android.sunshine.app.permission.C2D_MESSAGE" |
| 38 | + <permission android:name="com.example.android.sunshine.app.permission.C2D_MESSAGE" |
35 | 39 | android:protectionLevel="signature" /> |
36 | 40 | <uses-permission android:name="com.example.android.sunshine.app.permission.C2D_MESSAGE" /> |
37 | 41 |
|
|
43 | 47 | android:supportsRtl="true"> |
44 | 48 | <activity |
45 | 49 | android:name=".MainActivity" |
46 | | - android:label="@string/app_name"> |
| 50 | + android:label="@string/app_name" > |
47 | 51 | <intent-filter> |
48 | 52 | <action android:name="android.intent.action.MAIN" /> |
49 | 53 |
|
|
62 | 66 | android:name=".SettingsActivity" |
63 | 67 | android:label="@string/title_activity_settings" |
64 | 68 | android:parentActivityName=".MainActivity" |
65 | | - android:theme="@style/SettingsTheme" > |
| 69 | + android:theme="@style/SettingsTheme"> |
66 | 70 | <meta-data |
67 | 71 | android:name="android.support.PARENT_ACTIVITY" |
68 | 72 | android:value="com.example.android.sunshine.app.MainActivity" /> |
69 | 73 | </activity> |
70 | | - |
71 | 74 | <provider |
72 | | - android:name=".data.WeatherProvider" |
73 | 75 | android:authorities="@string/content_authority" |
| 76 | + android:name=".data.WeatherProvider" |
74 | 77 | android:exported="false" |
75 | 78 | android:syncable="true" /> |
76 | 79 |
|
77 | 80 | <!-- SyncAdapter's dummy authentication service --> |
78 | | - <service android:name=".sync.SunshineAuthenticatorService" > |
| 81 | + <service android:name=".sync.SunshineAuthenticatorService"> |
79 | 82 | <intent-filter> |
80 | 83 | <action android:name="android.accounts.AccountAuthenticator" /> |
81 | 84 | </intent-filter> |
82 | | - |
83 | 85 | <meta-data |
84 | 86 | android:name="android.accounts.AccountAuthenticator" |
85 | 87 | android:resource="@xml/authenticator" /> |
|
88 | 90 | <!-- The SyncAdapter service --> |
89 | 91 | <service |
90 | 92 | android:name=".sync.SunshineSyncService" |
91 | | - android:exported="true" > |
| 93 | + android:exported="true" |
| 94 | + > |
92 | 95 | <intent-filter> |
93 | 96 | <action android:name="android.content.SyncAdapter" /> |
94 | 97 | </intent-filter> |
95 | | - |
96 | 98 | <meta-data |
97 | 99 | android:name="android.content.SyncAdapter" |
98 | 100 | android:resource="@xml/syncadapter" /> |
99 | 101 | </service> |
100 | 102 |
|
101 | | - <!-- GCM receiver --> |
| 103 | + <!-- The Google Cloud Messaging receiver and services --> |
102 | 104 | <receiver |
103 | | - android:name=".GcmBroadcastReceiver" |
| 105 | + android:name="com.google.android.gms.gcm.GcmReceiver" |
| 106 | + android:exported="true" |
104 | 107 | android:permission="com.google.android.c2dm.permission.SEND" > |
105 | 108 | <intent-filter> |
106 | 109 | <action android:name="com.google.android.c2dm.intent.RECEIVE" /> |
| 110 | + <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> |
107 | 111 | <category android:name="com.example.android.sunshine.app" /> |
108 | 112 | </intent-filter> |
109 | 113 | </receiver> |
| 114 | + <service |
| 115 | + android:name="gcm.MyGcmListenerService" |
| 116 | + android:exported="false" > |
| 117 | + <intent-filter> |
| 118 | + <action android:name="com.google.android.c2dm.intent.RECEIVE" /> |
| 119 | + </intent-filter> |
| 120 | + </service> |
| 121 | + <service |
| 122 | + android:name="gcm.MyInstanceIDListenerService" |
| 123 | + android:exported="false"> |
| 124 | + <intent-filter> |
| 125 | + <action android:name="com.google.android.gms.iid.InstanceID"/> |
| 126 | + </intent-filter> |
| 127 | + </service> |
| 128 | + <service |
| 129 | + android:name=".gcm.RegistrationIntentService" |
| 130 | + android:exported="false" > |
| 131 | + </service> |
110 | 132 | </application> |
111 | 133 |
|
112 | 134 | </manifest> |
0 commit comments