<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2012 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.
-->
<resources>
    <string name="app_name">Activity Lifecycle</string>

    <string name="lifecycle_method_list">Lifecycle Method List</string>
    <string name="activity_status">Activity Status</string>
    <string name="dialog_text">Simple Dialog</string>

    <string name="on_create">onCreate</string>
    <string name="on_destroy">onDestroy</string>
    <string name="on_start">onStart</string>
    <string name="on_restart">onRestart</string>
    <string name="on_stop">onStop</string>
    <string name="on_pause">onPause</string>
    <string name="on_resume">onResume</string>

    <string name="activity_a_label">Activity A</string>
    <string name="activity_b_label">Activity B</string>
    <string name="activity_c_label">Activity C</string>

    <string name="btn_start_a_label">Start A</string>
    <string name="btn_start_b_label">Start B</string>
    <string name="btn_start_c_label">Start C</string>
    <string name="btn_start_dialog_label">Dialog</string>

    <string name="btn_finish_a_label">Finish A</string>
    <string name="btn_finish_b_label">Finish B</string>
    <string name="btn_finish_c_label">Finish C</string>
    <string name="btn_finish_dialog_label">Close</string>

    <string name="on_activity_created">onActivityCreated</string>
    <string name="on_attach">onAttach</string>
    <string name="on_create_view">onCreateView</string>
    <string name="on_destroy_view">onDestroyView</string>
    <string name="on_detach">onDetach</string>
    <string name="on_view_created">onViewCreated</string>
    <string name="activity_a">Activity A</string>

    <string name="start_a">Start A</string>
    <string name="start_b">Start B</string>
    <string name="start_c">Start C</string>

    <string name="close">Close</string>
    <string name="dialog">Dialog</string>
</resources>
