mirror of
https://github.com/moparisthebest/Yaaic
synced 2024-08-13 16:53:50 -04:00
Voice recognition can now be disabled via settings
This commit is contained in:
parent
e29a6ec7af
commit
8901056b17
@ -75,6 +75,7 @@ along with Yaaic. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
android:id="@+id/speech"
|
android:id="@+id/speech"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:drawableLeft="@android:drawable/ic_btn_speak_now" />
|
android:drawableLeft="@android:drawable/ic_btn_speak_now"
|
||||||
|
android:visibility="gone" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
@ -20,4 +20,7 @@
|
|||||||
|
|
||||||
<string name="key_fontsize">fontsize</string>
|
<string name="key_fontsize">fontsize</string>
|
||||||
<string name="default_fontsize">11</string>
|
<string name="default_fontsize">11</string>
|
||||||
|
|
||||||
|
<string name="key_voice_recognition">voice_recognition</string>
|
||||||
|
<string name="default_voice_recognition">true</string>
|
||||||
</resources>
|
</resources>
|
@ -162,11 +162,13 @@
|
|||||||
<string name="settings_24h_title">24 hour format</string>
|
<string name="settings_24h_title">24 hour format</string>
|
||||||
<string name="settings_24h_desc">Use 24 hour format for timestamps</string>
|
<string name="settings_24h_desc">Use 24 hour format for timestamps</string>
|
||||||
<string name="settings_misc">Misc</string>
|
<string name="settings_misc">Misc</string>
|
||||||
<string name="settings_quitmessage_title">Misc</string>
|
<string name="settings_quitmessage_title">Quit message</string>
|
||||||
<string name="settings_quitmessage_desc">Message to show when you disconnect</string>
|
<string name="settings_quitmessage_desc">Message to show when you disconnect</string>
|
||||||
<string name="settings_quitmessage_dialog_title">Quit message</string>
|
<string name="settings_quitmessage_dialog_title">Quit message</string>
|
||||||
<string name="settings_quitmessage_dialog_desc">Message to show when you disconnect:</string>
|
<string name="settings_quitmessage_dialog_desc">Message to show when you disconnect:</string>
|
||||||
<string name="settings_fontsize_title">Font size</string>
|
<string name="settings_fontsize_title">Font size</string>
|
||||||
<string name="settings_fontsize_desc">Set the global font size</string>
|
<string name="settings_fontsize_desc">Set the global font size</string>
|
||||||
<string name="settings_fontsize_dialog_title">Font size</string>
|
<string name="settings_fontsize_dialog_title">Font size</string>
|
||||||
|
<string name="settings_voice_recognition_title">Voice Recognition</string>
|
||||||
|
<string name="settings_voice_recognition_desc">Show button for voice recognition</string>
|
||||||
</resources>
|
</resources>
|
@ -63,6 +63,11 @@ along with Yaaic. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
android:title="@string/settings_misc">
|
android:title="@string/settings_misc">
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:title="@string/settings_voice_recognition_title"
|
||||||
|
android:summary="@string/settings_voice_recognition_desc"
|
||||||
|
android:key="@string/key_voice_recognition"
|
||||||
|
android:defaultValue="@string/default_voice_recognition" />
|
||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
android:title="@string/settings_quitmessage_title"
|
android:title="@string/settings_quitmessage_title"
|
||||||
android:summary="@string/settings_quitmessage_desc"
|
android:summary="@string/settings_quitmessage_desc"
|
||||||
|
@ -45,6 +45,7 @@ import org.yaaic.model.Message;
|
|||||||
import org.yaaic.model.Scrollback;
|
import org.yaaic.model.Scrollback;
|
||||||
import org.yaaic.model.Server;
|
import org.yaaic.model.Server;
|
||||||
import org.yaaic.model.ServerInfo;
|
import org.yaaic.model.ServerInfo;
|
||||||
|
import org.yaaic.model.Settings;
|
||||||
import org.yaaic.model.Status;
|
import org.yaaic.model.Status;
|
||||||
import org.yaaic.receiver.ConversationReceiver;
|
import org.yaaic.receiver.ConversationReceiver;
|
||||||
import org.yaaic.receiver.ServerReceiver;
|
import org.yaaic.receiver.ServerReceiver;
|
||||||
@ -62,6 +63,7 @@ import android.content.pm.ResolveInfo;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
import android.speech.RecognizerIntent;
|
import android.speech.RecognizerIntent;
|
||||||
|
import android.util.Log;
|
||||||
import android.view.KeyEvent;
|
import android.view.KeyEvent;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
@ -144,16 +146,6 @@ public class ConversationActivity extends Activity implements ServiceConnection,
|
|||||||
deckAdapter.clearConversations();
|
deckAdapter.clearConversations();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if speech recognition is available
|
|
||||||
PackageManager pm = getPackageManager();
|
|
||||||
Button speechButton = (Button) findViewById(R.id.speech);
|
|
||||||
List<ResolveInfo> activities = pm.queryIntentActivities(new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);
|
|
||||||
if (activities.size() != 0) {
|
|
||||||
((Button) findViewById(R.id.speech)).setOnClickListener(new SpeechClickListener(this));
|
|
||||||
} else {
|
|
||||||
speechButton.setVisibility(View.GONE);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Optimization : cache field lookups
|
// Optimization : cache field lookups
|
||||||
Collection<Conversation> mConversations = server.getConversations();
|
Collection<Conversation> mConversations = server.getConversations();
|
||||||
|
|
||||||
@ -182,6 +174,17 @@ public class ConversationActivity extends Activity implements ServiceConnection,
|
|||||||
|
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
|
||||||
|
// Check if speech recognition is enabled and available
|
||||||
|
if (new Settings(this).isVoiceRecognitionEnabled()) {
|
||||||
|
PackageManager pm = getPackageManager();
|
||||||
|
Button speechButton = (Button) findViewById(R.id.speech);
|
||||||
|
List<ResolveInfo> activities = pm.queryIntentActivities(new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);
|
||||||
|
if (activities.size() != 0) {
|
||||||
|
((Button) findViewById(R.id.speech)).setOnClickListener(new SpeechClickListener(this));
|
||||||
|
speechButton.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
((ImageView) findViewById(R.id.status)).setImageResource(server.getStatusIcon());
|
((ImageView) findViewById(R.id.status)).setImageResource(server.getStatusIcon());
|
||||||
|
|
||||||
// Start service
|
// Start service
|
||||||
|
@ -143,4 +143,17 @@ public class Settings
|
|||||||
resources.getString(R.string.default_fontsize)
|
resources.getString(R.string.default_fontsize)
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Is voice recognition enabled?
|
||||||
|
*
|
||||||
|
* @return True if voice recognition is enabled, false otherwise
|
||||||
|
*/
|
||||||
|
public boolean isVoiceRecognitionEnabled()
|
||||||
|
{
|
||||||
|
return preferences.getBoolean(
|
||||||
|
resources.getString(R.string.key_voice_recognition),
|
||||||
|
Boolean.parseBoolean(resources.getString(R.string.default_voice_recognition))
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user