Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1288)

Unified Diff: talk/examples/android/src/org/appspot/apprtc/ConnectActivity.java

Issue 1235563006: Move talk/examples/* to webrtc/examples. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: 201508051337 Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: talk/examples/android/src/org/appspot/apprtc/ConnectActivity.java
diff --git a/talk/examples/android/src/org/appspot/apprtc/ConnectActivity.java b/talk/examples/android/src/org/appspot/apprtc/ConnectActivity.java
deleted file mode 100644
index 69aeda5cbd48a527ba631eb6357cea171c548b5d..0000000000000000000000000000000000000000
--- a/talk/examples/android/src/org/appspot/apprtc/ConnectActivity.java
+++ /dev/null
@@ -1,420 +0,0 @@
-/*
- * libjingle
- * Copyright 2014 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-package org.appspot.apprtc;
-
-import android.app.Activity;
-import android.app.AlertDialog;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.SharedPreferences;
-import android.net.Uri;
-import android.os.Bundle;
-import android.preference.PreferenceManager;
-import android.util.Log;
-import android.view.KeyEvent;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.inputmethod.EditorInfo;
-import android.webkit.URLUtil;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-import android.widget.EditText;
-import android.widget.ImageButton;
-import android.widget.ListView;
-import android.widget.TextView;
-
-import org.json.JSONArray;
-import org.json.JSONException;
-
-import java.util.ArrayList;
-import java.util.Random;
-
-/**
- * Handles the initial setup where the user selects which room to join.
- */
-public class ConnectActivity extends Activity {
- private static final String TAG = "ConnectActivity";
- private static final int CONNECTION_REQUEST = 1;
- private static boolean commandLineRun = false;
-
- private ImageButton addRoomButton;
- private ImageButton removeRoomButton;
- private ImageButton connectButton;
- private ImageButton connectLoopbackButton;
- private EditText roomEditText;
- private ListView roomListView;
- private SharedPreferences sharedPref;
- private String keyprefVideoCallEnabled;
- private String keyprefResolution;
- private String keyprefFps;
- private String keyprefVideoBitrateType;
- private String keyprefVideoBitrateValue;
- private String keyprefVideoCodec;
- private String keyprefAudioBitrateType;
- private String keyprefAudioBitrateValue;
- private String keyprefAudioCodec;
- private String keyprefHwCodecAcceleration;
- private String keyprefNoAudioProcessingPipeline;
- private String keyprefCpuUsageDetection;
- private String keyprefDisplayHud;
- private String keyprefRoomServerUrl;
- private String keyprefRoom;
- private String keyprefRoomList;
- private ArrayList<String> roomList;
- private ArrayAdapter<String> adapter;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- // Get setting keys.
- PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
- sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
- keyprefVideoCallEnabled = getString(R.string.pref_videocall_key);
- keyprefResolution = getString(R.string.pref_resolution_key);
- keyprefFps = getString(R.string.pref_fps_key);
- keyprefVideoBitrateType = getString(R.string.pref_startvideobitrate_key);
- keyprefVideoBitrateValue = getString(R.string.pref_startvideobitratevalue_key);
- keyprefVideoCodec = getString(R.string.pref_videocodec_key);
- keyprefHwCodecAcceleration = getString(R.string.pref_hwcodec_key);
- keyprefAudioBitrateType = getString(R.string.pref_startaudiobitrate_key);
- keyprefAudioBitrateValue = getString(R.string.pref_startaudiobitratevalue_key);
- keyprefAudioCodec = getString(R.string.pref_audiocodec_key);
- keyprefNoAudioProcessingPipeline = getString(R.string.pref_noaudioprocessing_key);
- keyprefCpuUsageDetection = getString(R.string.pref_cpu_usage_detection_key);
- keyprefDisplayHud = getString(R.string.pref_displayhud_key);
- keyprefRoomServerUrl = getString(R.string.pref_room_server_url_key);
- keyprefRoom = getString(R.string.pref_room_key);
- keyprefRoomList = getString(R.string.pref_room_list_key);
-
- setContentView(R.layout.activity_connect);
-
- roomEditText = (EditText) findViewById(R.id.room_edittext);
- roomEditText.setOnEditorActionListener(
- new TextView.OnEditorActionListener() {
- @Override
- public boolean onEditorAction(
- TextView textView, int i, KeyEvent keyEvent) {
- if (i == EditorInfo.IME_ACTION_DONE) {
- addRoomButton.performClick();
- return true;
- }
- return false;
- }
- });
- roomEditText.requestFocus();
-
- roomListView = (ListView) findViewById(R.id.room_listview);
- roomListView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
-
- addRoomButton = (ImageButton) findViewById(R.id.add_room_button);
- addRoomButton.setOnClickListener(addRoomListener);
- removeRoomButton = (ImageButton) findViewById(R.id.remove_room_button);
- removeRoomButton.setOnClickListener(removeRoomListener);
- connectButton = (ImageButton) findViewById(R.id.connect_button);
- connectButton.setOnClickListener(connectListener);
- connectLoopbackButton =
- (ImageButton) findViewById(R.id.connect_loopback_button);
- connectLoopbackButton.setOnClickListener(connectListener);
-
- // If an implicit VIEW intent is launching the app, go directly to that URL.
- final Intent intent = getIntent();
- if ("android.intent.action.VIEW".equals(intent.getAction())
- && !commandLineRun) {
- commandLineRun = true;
- boolean loopback = intent.getBooleanExtra(
- CallActivity.EXTRA_LOOPBACK, false);
- int runTimeMs = intent.getIntExtra(
- CallActivity.EXTRA_RUNTIME, 0);
- String room = sharedPref.getString(keyprefRoom, "");
- roomEditText.setText(room);
- connectToRoom(loopback, runTimeMs);
- return;
- }
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- getMenuInflater().inflate(R.menu.connect_menu, menu);
- return true;
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- // Handle presses on the action bar items.
- if (item.getItemId() == R.id.action_settings) {
- Intent intent = new Intent(this, SettingsActivity.class);
- startActivity(intent);
- return true;
- } else {
- return super.onOptionsItemSelected(item);
- }
- }
-
- @Override
- public void onPause() {
- super.onPause();
- String room = roomEditText.getText().toString();
- String roomListJson = new JSONArray(roomList).toString();
- SharedPreferences.Editor editor = sharedPref.edit();
- editor.putString(keyprefRoom, room);
- editor.putString(keyprefRoomList, roomListJson);
- editor.commit();
- }
-
- @Override
- public void onResume() {
- super.onResume();
- String room = sharedPref.getString(keyprefRoom, "");
- roomEditText.setText(room);
- roomList = new ArrayList<String>();
- String roomListJson = sharedPref.getString(keyprefRoomList, null);
- if (roomListJson != null) {
- try {
- JSONArray jsonArray = new JSONArray(roomListJson);
- for (int i = 0; i < jsonArray.length(); i++) {
- roomList.add(jsonArray.get(i).toString());
- }
- } catch (JSONException e) {
- Log.e(TAG, "Failed to load room list: " + e.toString());
- }
- }
- adapter = new ArrayAdapter<String>(
- this, android.R.layout.simple_list_item_1, roomList);
- roomListView.setAdapter(adapter);
- if (adapter.getCount() > 0) {
- roomListView.requestFocus();
- roomListView.setItemChecked(0, true);
- }
- }
-
- @Override
- protected void onActivityResult(
- int requestCode, int resultCode, Intent data) {
- if (requestCode == CONNECTION_REQUEST && commandLineRun) {
- Log.d(TAG, "Return: " + resultCode);
- setResult(resultCode);
- commandLineRun = false;
- finish();
- }
- }
-
- private final OnClickListener connectListener = new OnClickListener() {
- @Override
- public void onClick(View view) {
- boolean loopback = false;
- if (view.getId() == R.id.connect_loopback_button) {
- loopback = true;
- }
- commandLineRun = false;
- connectToRoom(loopback, 0);
- }
- };
-
- private void connectToRoom(boolean loopback, int runTimeMs) {
- // Get room name (random for loopback).
- String roomId;
- if (loopback) {
- roomId = Integer.toString((new Random()).nextInt(100000000));
- } else {
- roomId = getSelectedItem();
- if (roomId == null) {
- roomId = roomEditText.getText().toString();
- }
- }
-
- String roomUrl = sharedPref.getString(
- keyprefRoomServerUrl,
- getString(R.string.pref_room_server_url_default));
-
- // Video call enabled flag.
- boolean videoCallEnabled = sharedPref.getBoolean(keyprefVideoCallEnabled,
- Boolean.valueOf(getString(R.string.pref_videocall_default)));
-
- // Get default codecs.
- String videoCodec = sharedPref.getString(keyprefVideoCodec,
- getString(R.string.pref_videocodec_default));
- String audioCodec = sharedPref.getString(keyprefAudioCodec,
- getString(R.string.pref_audiocodec_default));
-
- // Check HW codec flag.
- boolean hwCodec = sharedPref.getBoolean(keyprefHwCodecAcceleration,
- Boolean.valueOf(getString(R.string.pref_hwcodec_default)));
-
- // Check Disable Audio Processing flag.
- boolean noAudioProcessing = sharedPref.getBoolean(
- keyprefNoAudioProcessingPipeline,
- Boolean.valueOf(getString(R.string.pref_noaudioprocessing_default)));
-
- // Get video resolution from settings.
- int videoWidth = 0;
- int videoHeight = 0;
- String resolution = sharedPref.getString(keyprefResolution,
- getString(R.string.pref_resolution_default));
- String[] dimensions = resolution.split("[ x]+");
- if (dimensions.length == 2) {
- try {
- videoWidth = Integer.parseInt(dimensions[0]);
- videoHeight = Integer.parseInt(dimensions[1]);
- } catch (NumberFormatException e) {
- videoWidth = 0;
- videoHeight = 0;
- Log.e(TAG, "Wrong video resolution setting: " + resolution);
- }
- }
-
- // Get camera fps from settings.
- int cameraFps = 0;
- String fps = sharedPref.getString(keyprefFps,
- getString(R.string.pref_fps_default));
- String[] fpsValues = fps.split("[ x]+");
- if (fpsValues.length == 2) {
- try {
- cameraFps = Integer.parseInt(fpsValues[0]);
- } catch (NumberFormatException e) {
- Log.e(TAG, "Wrong camera fps setting: " + fps);
- }
- }
-
- // Get video and audio start bitrate.
- int videoStartBitrate = 0;
- String bitrateTypeDefault = getString(
- R.string.pref_startvideobitrate_default);
- String bitrateType = sharedPref.getString(
- keyprefVideoBitrateType, bitrateTypeDefault);
- if (!bitrateType.equals(bitrateTypeDefault)) {
- String bitrateValue = sharedPref.getString(keyprefVideoBitrateValue,
- getString(R.string.pref_startvideobitratevalue_default));
- videoStartBitrate = Integer.parseInt(bitrateValue);
- }
- int audioStartBitrate = 0;
- bitrateTypeDefault = getString(R.string.pref_startaudiobitrate_default);
- bitrateType = sharedPref.getString(
- keyprefAudioBitrateType, bitrateTypeDefault);
- if (!bitrateType.equals(bitrateTypeDefault)) {
- String bitrateValue = sharedPref.getString(keyprefAudioBitrateValue,
- getString(R.string.pref_startaudiobitratevalue_default));
- audioStartBitrate = Integer.parseInt(bitrateValue);
- }
-
- // Test if CpuOveruseDetection should be disabled. By default is on.
- boolean cpuOveruseDetection = sharedPref.getBoolean(
- keyprefCpuUsageDetection,
- Boolean.valueOf(
- getString(R.string.pref_cpu_usage_detection_default)));
-
- // Check statistics display option.
- boolean displayHud = sharedPref.getBoolean(keyprefDisplayHud,
- Boolean.valueOf(getString(R.string.pref_displayhud_default)));
-
- // Start AppRTCDemo activity.
- Log.d(TAG, "Connecting to room " + roomId + " at URL " + roomUrl);
- if (validateUrl(roomUrl)) {
- Uri uri = Uri.parse(roomUrl);
- Intent intent = new Intent(this, CallActivity.class);
- intent.setData(uri);
- intent.putExtra(CallActivity.EXTRA_ROOMID, roomId);
- intent.putExtra(CallActivity.EXTRA_LOOPBACK, loopback);
- intent.putExtra(CallActivity.EXTRA_VIDEO_CALL, videoCallEnabled);
- intent.putExtra(CallActivity.EXTRA_VIDEO_WIDTH, videoWidth);
- intent.putExtra(CallActivity.EXTRA_VIDEO_HEIGHT, videoHeight);
- intent.putExtra(CallActivity.EXTRA_VIDEO_FPS, cameraFps);
- intent.putExtra(CallActivity.EXTRA_VIDEO_BITRATE, videoStartBitrate);
- intent.putExtra(CallActivity.EXTRA_VIDEOCODEC, videoCodec);
- intent.putExtra(CallActivity.EXTRA_HWCODEC_ENABLED, hwCodec);
- intent.putExtra(CallActivity.EXTRA_NOAUDIOPROCESSING_ENABLED,
- noAudioProcessing);
- intent.putExtra(CallActivity.EXTRA_AUDIO_BITRATE, audioStartBitrate);
- intent.putExtra(CallActivity.EXTRA_AUDIOCODEC, audioCodec);
- intent.putExtra(CallActivity.EXTRA_CPUOVERUSE_DETECTION,
- cpuOveruseDetection);
- intent.putExtra(CallActivity.EXTRA_DISPLAY_HUD, displayHud);
- intent.putExtra(CallActivity.EXTRA_CMDLINE, commandLineRun);
- intent.putExtra(CallActivity.EXTRA_RUNTIME, runTimeMs);
-
- startActivityForResult(intent, CONNECTION_REQUEST);
- }
- }
-
- private boolean validateUrl(String url) {
- if (URLUtil.isHttpsUrl(url) || URLUtil.isHttpUrl(url)) {
- return true;
- }
-
- new AlertDialog.Builder(this)
- .setTitle(getText(R.string.invalid_url_title))
- .setMessage(getString(R.string.invalid_url_text, url))
- .setCancelable(false)
- .setNeutralButton(R.string.ok, new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- dialog.cancel();
- }
- }).create().show();
- return false;
- }
-
- private final OnClickListener addRoomListener = new OnClickListener() {
- @Override
- public void onClick(View view) {
- String newRoom = roomEditText.getText().toString();
- if (newRoom.length() > 0 && !roomList.contains(newRoom)) {
- adapter.add(newRoom);
- adapter.notifyDataSetChanged();
- }
- }
- };
-
- private final OnClickListener removeRoomListener = new OnClickListener() {
- @Override
- public void onClick(View view) {
- String selectedRoom = getSelectedItem();
- if (selectedRoom != null) {
- adapter.remove(selectedRoom);
- adapter.notifyDataSetChanged();
- }
- }
- };
-
- private String getSelectedItem() {
- int position = AdapterView.INVALID_POSITION;
- if (roomListView.getCheckedItemCount() > 0 && adapter.getCount() > 0) {
- position = roomListView.getCheckedItemPosition();
- if (position >= adapter.getCount()) {
- position = AdapterView.INVALID_POSITION;
- }
- }
- if (position != AdapterView.INVALID_POSITION) {
- return adapter.getItem(position);
- } else {
- return null;
- }
- }
-
-}

Powered by Google App Engine
This is Rietveld 408576698