You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
166 lines
7.2 KiB
166 lines
7.2 KiB
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
Copyright 2017 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.
|
|
-->
|
|
<sample>
|
|
<name>WearMessagingApp</name>
|
|
<group>Wearable</group> <!-- This field will be deprecated in the future
|
|
and replaced with the "categories" tags below. -->
|
|
<package>com.example.android.wearable.wear.messaging</package>
|
|
|
|
<minSdk>24</minSdk>
|
|
<targetSdkVersion>25</targetSdkVersion>
|
|
<targetSdkVersionWear>25</targetSdkVersionWear>
|
|
|
|
<dependency_wearable>com.android.support:appcompat-v7:25.3.1</dependency_wearable>
|
|
<dependency_wearable>com.android.support:support-v13:25.3.1</dependency_wearable>
|
|
<dependency_wearable>com.android.support:design:25.3.1</dependency_wearable>
|
|
|
|
<dependency_wearable>com.google.android.gms:play-services-wearable:10.2.6</dependency_wearable>
|
|
<dependency_wearable>com.google.android.gms:play-services-auth:10.2.6</dependency_wearable>
|
|
|
|
<dependency_wearable>com.github.bumptech.glide:glide:3.8.0</dependency_wearable>
|
|
<dependency_wearable>com.google.code.gson:gson:2.8.0</dependency_wearable>
|
|
|
|
<strings>
|
|
<intro>
|
|
<![CDATA[
|
|
Sample demonstrates best practices for building a messaging experience on Wear.
|
|
]]>
|
|
</intro>
|
|
</strings>
|
|
|
|
<template src="base-build" />
|
|
<template src="Wear" />
|
|
|
|
<metadata>
|
|
<!-- Values: {DRAFT | PUBLISHED | INTERNAL | DEPRECATED | SUPERCEDED} -->
|
|
<status>PUBLISHED</status>
|
|
<!-- See http://go/sample-categories for details on the next 4 fields. -->
|
|
<!-- Most samples just need to udpate the Categories field. This is a comma-
|
|
seperated list of topic tags. Unlike the old category system, samples
|
|
may have multiple categories, so feel free to add extras. Try to avoid
|
|
simply tagging everything with "UI". :)-->
|
|
<categories>Wearable</categories>
|
|
<technologies>Android</technologies>
|
|
<languages>Java</languages>
|
|
<solutions>Mobile</solutions>
|
|
<!-- Values: {BEGINNER | INTERMEDIATE | ADVANCED | EXPERT} -->
|
|
<!-- Beginner is for "getting started" type content, or essential content.
|
|
(e.g. "Hello World", activities, intents)
|
|
|
|
Intermediate is for content that covers material a beginner doesn't need
|
|
to know, but that a skilled developer is expected to know.
|
|
(e.g. services, basic styles and theming, sync adapters)
|
|
|
|
Advanced is for highly technical content geared towards experienced developers.
|
|
(e.g. performance optimizations, custom views, bluetooth)
|
|
|
|
Expert is reserved for highly technical or specialized content, and should
|
|
be used sparingly. (e.g. VPN clients, SELinux, custom instrumentation runners) -->
|
|
<level>INTERMEDIATE</level>
|
|
<!-- Dimensions: 512x512, PNG fomrat -->
|
|
<icon>screenshots/icon-web.png</icon>
|
|
<!-- Path to screenshots. Use <img> tags for each. -->
|
|
<screenshots>
|
|
<img>screenshots/chat_list.png</img>
|
|
<img>screenshots/chat.png</img>
|
|
<img>screenshots/contacts.png</img>
|
|
</screenshots>
|
|
<!-- List of APIs that this sample should be cross-referenced under. Use <android>
|
|
for fully-qualified Framework class names ("android:" namespace).
|
|
|
|
Use <ext> for custom namespaces, if needed. See "Samples Index API" documentation
|
|
for more details. -->
|
|
<api_refs>
|
|
<android>com.google.android.gms.auth.api.Auth</android>
|
|
<android>com.google.android.gms.auth.api.signin.GoogleSignInAccount</android>
|
|
<android>com.google.android.gms.common.api.GoogleApiClient</android>
|
|
<android>android.support.wearable.view.WearableRecyclerView</android>
|
|
<android>android.support.wearable.view.drawer.WearableActionDrawer</android>
|
|
<android>android.support.wearable.view.drawer.WearableDrawerLayout</android>
|
|
<android>android.support.v7.util.SortedList</android>
|
|
</api_refs>
|
|
|
|
<!-- 1-3 line description of the sample here.
|
|
|
|
Avoid simply rearranging the sample's title. What does this sample actually
|
|
accomplish, and how does it do it? -->
|
|
<description>
|
|
<![CDATA[
|
|
Sample demonstrating how to build a messaging app with the following features: contacts list,
|
|
chat list, send messages, message style notification, and sign-in with Google.
|
|
]]>
|
|
</description>
|
|
|
|
<!-- Multi-paragraph introduction to sample, from an educational point-of-view.
|
|
Makrdown formatting allowed. This will be used to generate a mini-article for the
|
|
sample on DAC. -->
|
|
<intro>
|
|
<![CDATA[
|
|
Getting Started
|
|
---------------
|
|
|
|
This project demonstrates Google Sign-in. You will need to follow the setup instructions for
|
|
integrating Google Sign-in into an Android app at the link below. Remember to use the package name
|
|
com.example.android.wearable.wear.messaging when configuring your project and credentials, or
|
|
otherwise modify the sample appropriately if you want to use a different package name.
|
|
|
|
https://developers.google.com/identity/sign-in/android/start-integrating
|
|
|
|
After you finish setting up the ___google-services.json___ file for Google Sign-in, update the
|
|
___strings.xml___ file for the string value ___default\_web\_client\_id___ to the value for the
|
|
OAuth web client id created.
|
|
|
|
Features
|
|
---------------
|
|
The project demonstrates the following features:
|
|
|
|
- Chat list
|
|
- Contacts list
|
|
- Authentication with Google
|
|
- Sending a chat message
|
|
- Receiving a chat message
|
|
- Replying from a notification
|
|
|
|
Each feature is contained in it's own package:
|
|
|
|
- _com.example.android.wearable.wear.messaging.____chat___
|
|
- Displays a conversation
|
|
- Handles incoming messages from a mocked back end server.
|
|
- Replies to messages from a notification
|
|
- _com.example.android.wearable.wear.messaging.____chatlist___
|
|
- Displays all of the conversations you are involved in.
|
|
- _com.example.android.wearable.wear.messaging.____contacts___
|
|
- Displays a list your contacts. In this sample, the contacts are mocked out. You will want to
|
|
replace the backing datasource with your own contacts solution.
|
|
- _com.example.android.wearable.wear.messaging.____mock___
|
|
- A local mock database.
|
|
- _com.example.android.wearable.wear.messaging.____model___
|
|
- Objects that are displayed in the UI. These objects also act as entities and are persisted in
|
|
the mock database.
|
|
|
|
|
|
To see other examples of Google Sign-in, check out the [Wear Google Sign-In Sample][1].
|
|
|
|
To see other examples of notifications, check out the [WearNotifications Sample][2]
|
|
|
|
[1]: https://github.com/googlesamples/android-WearStandaloneGoogleSignIn
|
|
[2]: https://github.com/googlesamples/android-WearNotifications
|
|
]]>
|
|
</intro>
|
|
</metadata>
|
|
</sample>
|