<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2014, The Linux Foundation. All rights reserved.
     Not a Contribution.

     Copyright (C) 2010 Google Inc.

     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.
-->
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/action_camera"
        android:icon="@drawable/camera"
        android:title="@string/switch_to_camera"
        android:showAsAction="ifRoom" />
    <item android:id="@+id/action_select"
        android:icon="@drawable/ic_selection"
        android:title="@string/select_album"
        android:showAsAction="never" />
    <item android:id="@+id/action_manage_offline"
            android:title="@string/make_available_offline"
            android:visible="false"
            android:showAsAction="never" />
    <!-- <item android:id="@+id/action_settings"
        android:title="@string/settings"
        android:showAsAction="never" /> -->
    <item android:id="@+id/action_general_help"
        android:title="@string/help"
        android:visible="false"
        android:showAsAction="never" />
    <item android:id="@+id/action_more_image"
        android:title="@string/more_image"
        android:showAsAction="never" />
</menu>
