harmony: forked original harmony (smb_a1002) to new malata smb9701 (Zpad T8) device

Change-Id: I7855585cde3375e30ceb11c1030e2e283126f64e
This commit is contained in:
Brint E. Kriebel 2011-04-29 16:23:24 -07:00 committed by Ricardo Cerqueira
parent aa4f413d5b
commit a8cdb375cc
7 changed files with 548 additions and 1 deletions

View file

@ -27,7 +27,7 @@ Maintainers:
* Geeksphone ZERO: arcee * Geeksphone ZERO: arcee
* Z71 (Boston, G1305, XT502, A60, Blaze, others): arcee * Z71 (Boston, G1305, XT502, A60, Blaze, others): arcee
* Wildfire: Jacob Crawley, Arne Coucheron * Wildfire: Jacob Crawley, Arne Coucheron
* Harmony (Malata smb_a1002): bekit, pershoot * Harmony (Malata smb_a1002/smb_b9701): bekit, pershoot
* Ace (Desire HD): Kali- * Ace (Desire HD): Kali-
* Glacier (MT4G): Zinx, Kmobs * Glacier (MT4G): Zinx, Kmobs
* Click (Tattoo): KalimochoAz * Click (Tattoo): KalimochoAz

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- config_desktopColumns/Rows min value is 3, so it will add 3 to whatever value you set here -->
<integer name="config_desktopColumns">5</integer>
<integer name="config_desktopRows">4</integer>
</resources>

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Whether or not to display the trackball settings -->
<bool name="has_trackball">false</bool>
<bool name="has_led_flash">false</bool>
</resources>

View file

@ -0,0 +1,491 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2006 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.contacts"
android:sharedUserId="android.uid.shared"
>
<original-package android:name="com.android.contacts" />
<uses-permission android:name="android.permission.CALL_PRIVILEGED" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
<uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.mail" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.VIBRATE" />
<application
android:label="@string/contactsList"
android:icon="@drawable/ic_launcher_contacts"
android:process="android.process.acore"
android:taskAffinity="android.task.contacts"
>
<!-- A virtual 12 key dialer -->
<activity android:name="TwelveKeyDialer"
android:launchMode="singleTop"
>
<intent-filter>
<action android:name="com.android.phone.action.TOUCH_DIALER" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.TAB" />
</intent-filter>
</activity>
<!-- A list of recent calls -->
<activity android:name="RecentCallsListActivity"
android:label="@string/recentCallsIconLabel"
>
<intent-filter>
<action android:name="com.android.phone.action.RECENT_CALLS" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.TAB" />
</intent-filter>
</activity>
<!-- Tab container for all tabs -->
<activity android:name="DialtactsActivity"
android:label="@string/launcherDialer"
android:theme="@style/DialtactsTheme"
android:launchMode="singleTask"
android:clearTaskOnLaunch="true"
android:icon="@drawable/ic_launcher_phone"
android:screenOrientation="nosensor"
android:enabled="false"
>
<intent-filter>
<action android:name="android.intent.action.DIAL" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:mimeType="vnd.android.cursor.item/phone" />
<data android:mimeType="vnd.android.cursor.item/person" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.DIAL" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="voicemail" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.DIAL" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.DIAL" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="tel" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:mimeType="vnd.android.cursor.dir/calls" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.CALL_BUTTON" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
<!-- Tab container for all tabs -->
<activity-alias android:name="DialtactsContactsEntryActivity"
android:targetActivity="DialtactsActivity"
android:label="@string/contactsList"
android:icon="@drawable/ic_launcher_contacts"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.dir/person" android:host="contacts" />
<data android:mimeType="vnd.android.cursor.dir/contact" android:host="com.android.contacts" />
</intent-filter>
</activity-alias>
<!-- Main launch Intent to open the Contacts app. This will open the app in its last manual
state. This is the state that has been explicitly set by the user (e.g. by clicking a tab).
States configured via other Intents (e.g. CallLog after Call) are not considered manual
state. At the moment, the Intent always goes to the DialtactsActivity, but this might later
be changed to also include sub-activities like Edit or View if they were left open -->
<activity-alias android:name="ContactsLaunchActivity"
android:targetActivity="DialtactsActivity"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity-alias>
<!-- An empty activity that presents the DialtactActivity's Favorites tab -->
<activity-alias android:name="DialtactsFavoritesEntryActivity"
android:targetActivity="DialtactsActivity"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity-alias>
<!-- The actual list of contacts, usually embedded in ContactsActivity -->
<activity android:name="ContactsListActivity"
android:label="@string/contactsList"
android:clearTaskOnLaunch="true"
>
<intent-filter>
<action android:name="com.android.contacts.action.LIST_DEFAULT" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.TAB" />
</intent-filter>
<intent-filter>
<action android:name="com.android.contacts.action.LIST_CONTACTS" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.TAB" />
</intent-filter>
<intent-filter>
<action android:name="com.android.contacts.action.LIST_ALL_CONTACTS" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.TAB" />
</intent-filter>
<intent-filter>
<action android:name="com.android.contacts.action.LIST_CONTACTS_WITH_PHONES" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.TAB" />
</intent-filter>
<intent-filter android:label="@string/starredList">
<action android:name="com.android.contacts.action.LIST_STARRED" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.TAB" />
</intent-filter>
<intent-filter android:label="@string/frequentList">
<action android:name="com.android.contacts.action.LIST_FREQUENT" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.TAB" />
</intent-filter>
<intent-filter android:label="@string/strequentList">
<action android:name="com.android.contacts.action.LIST_STREQUENT" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.TAB" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.INSERT_OR_EDIT" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.item/person" />
<data android:mimeType="vnd.android.cursor.item/contact" />
<data android:mimeType="vnd.android.cursor.item/raw_contact" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.PICK" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.dir/contact" android:host="com.android.contacts" />
<data android:mimeType="vnd.android.cursor.dir/person" android:host="contacts" />
<data android:mimeType="vnd.android.cursor.dir/phone_v2" android:host="com.android.contacts" />
<data android:mimeType="vnd.android.cursor.dir/phone" android:host="contacts" />
<data android:mimeType="vnd.android.cursor.dir/postal-address_v2" android:host="com.android.contacts" />
<data android:mimeType="vnd.android.cursor.dir/postal-address" android:host="contacts" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.GET_CONTENT" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.item/contact" android:host="com.android.contacts" />
<data android:mimeType="vnd.android.cursor.item/person" android:host="contacts" />
<data android:mimeType="vnd.android.cursor.item/phone_v2" android:host="com.android.contacts" />
<data android:mimeType="vnd.android.cursor.item/phone" android:host="contacts" />
<data android:mimeType="vnd.android.cursor.item/postal-address_v2" android:host="com.android.contacts" />
<data android:mimeType="vnd.android.cursor.item/postal-address" android:host="contacts" />
</intent-filter>
</activity>
<!-- An activity for joining contacts -->
<activity android:name="ContactsListActivity$JoinContactActivity"
android:theme="@style/TallTitleBarTheme"
android:clearTaskOnLaunch="true"
>
<intent-filter>
<action android:name="com.android.contacts.action.JOIN_AGGREGATE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!-- The contacts search/filter UI -->
<activity android:name="ContactsListActivity$ContactsSearchActivity"
android:theme="@style/ContactsSearchTheme"
android:windowSoftInputMode="stateAlwaysVisible|adjustPan"
>
<intent-filter>
<action android:name="com.android.contacts.action.FILTER_CONTACTS" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.dir/contact" android:host="com.android.contacts" />
</intent-filter>
</activity>
<!-- The contacts search/filter UI -->
<activity android:name="SearchResultsActivity"
android:theme="@style/TallTitleBarTheme"
android:label="@string/contactsList"
>
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable"
/>
</activity>
<!-- Used to select display and sync groups -->
<activity android:name=".ui.ContactsPreferencesActivity" android:label="@string/displayGroups" />
<activity
android:name=".ui.ShowOrCreateActivity"
android:theme="@style/FullyTranslucent">
<intent-filter>
<action android:name="com.android.contacts.action.SHOW_OR_CREATE_CONTACT" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="mailto" />
<data android:scheme="tel" />
</intent-filter>
</activity>
<!-- Used to show QuickContact window over a translucent activity, which is a
temporary hack until we add better framework support. -->
<activity
android:name=".ui.QuickContactActivity"
android:theme="@style/FullyTranslucent.QuickContact"
android:launchMode="singleTop"
android:excludeFromRecents="true"
android:taskAffinity="android.task.quickcontact"
android:windowSoftInputMode="stateUnchanged"
>
<intent-filter>
<action android:name="com.android.contacts.action.QUICK_CONTACT" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.item/contact" android:host="com.android.contacts" />
<data android:mimeType="vnd.android.cursor.item/person" android:host="contacts" />
</intent-filter>
</activity>
<activity-alias android:name="ContactShortcut"
android:targetActivity="ContactsListActivity"
android:label="@string/shortcutContact"
android:icon="@drawable/ic_launcher_shortcut_contact">
<intent-filter>
<action android:name="android.intent.action.CREATE_SHORTCUT" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity-alias>
<activity-alias android:name="alias.DialShortcut"
android:targetActivity="ContactsListActivity"
android:label="@string/shortcutDialContact"
android:icon="@drawable/ic_launcher_shortcut_directdial">
<intent-filter>
<action android:name="android.intent.action.CREATE_SHORTCUT" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.CAR_MODE" />
</intent-filter>
</activity-alias>
<activity-alias android:name="alias.MessageShortcut"
android:targetActivity="ContactsListActivity"
android:label="@string/shortcutMessageContact"
android:icon="@drawable/ic_launcher_shortcut_directmessage">
<intent-filter>
<action android:name="android.intent.action.CREATE_SHORTCUT" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity-alias>
<activity android:name="CallDetailActivity"
android:label="@string/callDetailTitle"
android:theme="@style/TallTitleBarTheme"
>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.item/calls" />
</intent-filter>
</activity>
<!-- Views the details of a single contact -->
<activity android:name="ViewContactActivity"
android:label="@string/viewContactTitle"
android:theme="@style/TallTitleBarTheme">
<intent-filter android:label="@string/viewContactDesription">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.item/person" android:host="contacts" />
<data android:mimeType="vnd.android.cursor.item/contact" android:host="com.android.contacts" />
<data android:mimeType="vnd.android.cursor.item/raw_contact" android:host="com.android.contacts" />
</intent-filter>
</activity>
<!-- Edit or insert details for a contact -->
<activity
android:name=".ui.EditContactActivity"
android:windowSoftInputMode="stateHidden|adjustResize">
<intent-filter android:label="@string/editContactDescription">
<action android:name="android.intent.action.EDIT" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.item/person" android:host="contacts" />
<data android:mimeType="vnd.android.cursor.item/contact" android:host="com.android.contacts" />
<data android:mimeType="vnd.android.cursor.item/raw_contact" android:host="com.android.contacts" />
</intent-filter>
<intent-filter android:label="@string/insertContactDescription">
<action android:name="android.intent.action.INSERT" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.dir/person" />
<data android:mimeType="vnd.android.cursor.dir/contact" />
<data android:mimeType="vnd.android.cursor.dir/raw_contact" />
</intent-filter>
</activity>
<!-- Stub service used to keep our process alive long enough for
background threads to finish their operations. -->
<service
android:name=".util.EmptyService"
android:exported="false" />
<!-- Views the details of a single contact -->
<activity android:name="ContactOptionsActivity"
android:label="@string/contactOptionsTitle"
>
<intent-filter>
<action android:name="android.intent.action.EDIT" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!-- Attaches a photo to a contact. Started from external applications -->
<activity android:name="AttachImage"
android:label="@string/attachToContact"
android:taskAffinity="">
<intent-filter>
<action android:name="android.intent.action.ATTACH_DATA" />
<data android:mimeType="image/*" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
/>
</activity>
<!-- Makes .ContactsListActivity the search target for any activity in Contacts -->
<meta-data
android:name="android.app.default_searchable"
android:value=".ContactsListActivity" />
<!-- LIVE FOLDERS -->
<activity
android:name=".ContactsLiveFolders$AllContacts"
android:label="@string/liveFolderAll"
android:icon="@drawable/ic_launcher_folder_live_contacts">
<intent-filter>
<action android:name="android.intent.action.CREATE_LIVE_FOLDER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".ContactsLiveFolders$StarredContacts"
android:label="@string/liveFolderFavorites"
android:icon="@drawable/ic_launcher_folder_live_contacts_starred">
<intent-filter>
<action android:name="android.intent.action.CREATE_LIVE_FOLDER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".ContactsLiveFolders$PhoneContacts"
android:label="@string/liveFolderPhone"
android:icon="@drawable/ic_launcher_folder_live_contacts_phone">
<intent-filter>
<action android:name="android.intent.action.CREATE_LIVE_FOLDER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name=".ImportVCardActivity"
android:theme="@style/BackgroundOnly">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<data android:mimeType="text/directory" />
<data android:mimeType="text/x-vcard" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name=".ExportVCardActivity"
android:theme="@style/BackgroundOnly" />
<!-- Wysie_Soh: Custom Intents -->
<activity android:name="ContactsPreferences">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>

View file

@ -28,6 +28,7 @@ PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/cyanogen_passion.mk \ $(LOCAL_DIR)/cyanogen_passion.mk \
$(LOCAL_DIR)/cyanogen_sholes.mk \ $(LOCAL_DIR)/cyanogen_sholes.mk \
$(LOCAL_DIR)/cyanogen_smb_a1002.mk \ $(LOCAL_DIR)/cyanogen_smb_a1002.mk \
$(LOCAL_DIR)/cyanogen_smb_b9701.mk \
$(LOCAL_DIR)/cyanogen_speedy.mk \ $(LOCAL_DIR)/cyanogen_speedy.mk \
$(LOCAL_DIR)/cyanogen_supersonic.mk \ $(LOCAL_DIR)/cyanogen_supersonic.mk \
$(LOCAL_DIR)/cyanogen_u8220.mk \ $(LOCAL_DIR)/cyanogen_u8220.mk \

View file

@ -0,0 +1,41 @@
$(call inherit-product, device/malata/smb_b9701/smb_b9701.mk)
# Inherit some common cyanogenmod stuff.
$(call inherit-product, vendor/cyanogen/products/common_full.mk)
#
# Setup device specific product configuration.
#
PRODUCT_NAME := cyanogen_smb_b9701
PRODUCT_BRAND := nvidia
PRODUCT_DEVICE := smb_b9701
PRODUCT_MODEL := Zpad-T8
PRODUCT_MANUFACTURER := malata
PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=smb_b9701 BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GRJ22 BUILD_FINGERPRINT=google/passion/passion:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.4 GRJ22 121341 release-keys"
# Extra overlay
PRODUCT_PACKAGE_OVERLAYS += \
vendor/cyanogen/overlay/tablet \
vendor/cyanogen/overlay/smb_b9701
#
# Set ro.modversion
#
ifdef CYANOGEN_NIGHTLY
PRODUCT_PROPERTY_OVERRIDES += \
ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-smb_b9701
else
ifdef CYANOGEN_RELEASE
PRODUCT_PROPERTY_OVERRIDES += \
ro.modversion=CyanogenMod-7.1.0-RC0-smb_b9701
else
PRODUCT_PROPERTY_OVERRIDES += \
ro.modversion=CyanogenMod-7.1.0-RC0-smb_b9701-KANG
endif
endif
#
# Copy passion specific prebuilt files
#
PRODUCT_COPY_FILES += \
vendor/cyanogen/prebuilt/mdpi/media/bootanimation.zip:system/media/bootanimation.zip

View file

@ -27,6 +27,7 @@ add_lunch_combo cyanogen_p999-eng
add_lunch_combo cyanogen_passion-eng add_lunch_combo cyanogen_passion-eng
add_lunch_combo cyanogen_sholes-eng add_lunch_combo cyanogen_sholes-eng
add_lunch_combo cyanogen_smb_a1002-eng add_lunch_combo cyanogen_smb_a1002-eng
add_lunch_combo cyanogen_smb_b9701-eng
add_lunch_combo cyanogen_speedy-eng add_lunch_combo cyanogen_speedy-eng
add_lunch_combo cyanogen_supersonic-eng add_lunch_combo cyanogen_supersonic-eng
add_lunch_combo cyanogen_u8220-eng add_lunch_combo cyanogen_u8220-eng