<?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="ifRoom" />
    <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>
