<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 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.
-->

<!-- This file describes the code in the Compass package, which is
     used by the system to determine how to start your application and
     integrate it with the rest of the system.  -->

<!-- Declare the contents of this Android application.  The namespace
     attribute brings in the Android platform namespace, and the package
     supplies a unique name for the application.  When writing your
     own application, the package name must be changed from "com.example.*"
     to come from a domain that you own or have control over. -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.compass">

    <!-- This package contains an application...  The 'label' is the name
         to display to the user for the overall application, and provides
         a default label for all following components.  The syntax here is a
         reference to one of our string resources.-->
    <application android:label="@string/compass_app">

        <!-- An Activity in the application - this is something the user
             can launch and interact with.  The "name" attribute is the
             name of the class within your package that implements this
             activity. -->
        <activity android:name="CompassActivity">

            <!-- An IntentFilter tells the system when it should use your
                 activity.  This allows the user to get to your activity
                 without someone having to explicitly know to launch your
                 class "com.example.android.compass_app.CompassActivity". -->
            <intent-filter>
                <!-- The MAIN action describes a main entry point into an
                     activity, without any associated data. -->
                <action android:name="android.intent.action.MAIN" />

                <!-- This places this activity into the main app list. -->
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

        </activity>

    </application>

</manifest>
