<!--
 Copyright (C) 2008,2009  OMRON SOFTWARE Co., Ltd.

 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.
-->

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
	  package="jp.co.omronsoft.openwnn"
	  android:versionCode="1"
	  android:versionName="1.0">
  <uses-permission xmlns:android="http://schemas.android.com/apk/res/android" android:name="android.permission.VIBRATE"/>
    <application android:label="OpenWnn">

        <service android:name="OpenWnnJAJP" android:label="OpenWnn Japanese"
		 android:permission="android.permission.BIND_INPUT_METHOD"
		 android:id="@+id/openwnn_japanese">
            <intent-filter>
                <action android:name="android.view.InputMethod" />
            </intent-filter>
            <meta-data android:name="android.view.im" android:resource="@xml/method_ja" />
        </service>

        <activity android:name="OpenWnnControlPanelJAJP"
                android:label="@string/preference_ime_setting_app">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>

	<activity android:name="jp.co.omronsoft.openwnn.JAJP.UserDictionaryToolsListJAJP" /> 

	<activity android:name="jp.co.omronsoft.openwnn.JAJP.UserDictionaryToolsEditJAJP" android:label="@string/user_dictionary_edit_words" /> 

        <service android:name="OpenWnnEN" android:label="OpenWnn English"
		 android:permission="android.permission.BIND_INPUT_METHOD"
		 android:id="@+id/openwnn_english">
            <intent-filter>
                <action android:name="android.view.InputMethod" />
            </intent-filter>
            <meta-data android:name="android.view.im" android:resource="@xml/method_en" />
        </service>

        <activity android:name="OpenWnnControlPanelEN"
                android:label="@string/preference_ime_setting_app">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>

	<activity android:name="jp.co.omronsoft.openwnn.EN.UserDictionaryToolsListEN" /> 

	<activity android:name="jp.co.omronsoft.openwnn.EN.UserDictionaryToolsEditEN" android:label="@string/user_dictionary_edit_words" /> 

        <service android:name="OpenWnnZHCN" android:label="OpenWnn Chinese"
         android:permission="android.permission.BIND_INPUT_METHOD"
         android:id="@+id/openwnn_chinese">
            <intent-filter>
                <action android:name="android.view.InputMethod" />
            </intent-filter>
            <meta-data android:name="android.view.im" android:resource="@xml/method_zhcn"/>
        </service>

        <activity android:name="OpenWnnControlPanelZHCN"
                android:label="@string/preference_ime_setting_app">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>

	<activity android:name="jp.co.omronsoft.openwnn.ZH.CN.UserDictionaryToolsListZHCN" /> 

	<activity android:name="jp.co.omronsoft.openwnn.ZH.CN.UserDictionaryToolsEditZHCN" android:label="@string/user_dictionary_edit_words" /> 

    </application>




</manifest> 

