Passenger Plus | Pilots Plus

Seattle, WA

Team Updates

Hi fiends,

Follow us at our fresh twitter account. https://twitter.com/passenger_plus

erhanerenErhan Eren
Team Stream Item
erhanerenErhan Eren
public class MainActivity extends AppCompatActivity implements View.OnClickListener
{
private TextView cityTV;
private LinearLayout infoLayout;
private LinearLayout vrLayout;
private LinearLayout historyLayout;
private AudioService audioService;
private ImageView playPauseView;
private boolean isPaused = true;
private ServiceConnection serviceConnection = new ServiceConnection()
{
@Override
public void onServiceConnected(ComponentName name, IBinder service)
{
audioService = ((AudioService.AudioBinder) service).getService();
Log.i("MainActivity", "Service connected");
}
@Override
public void onServiceDisconnected(ComponentName name)
{
Log.i("MainActivity", "Service disconnected");
audioService = null;
}
};
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
setContentView(R.layout.activity_main);
cityTV = (TextView) findViewById(R.id.cityTV);
infoLayout = (LinearLayout) findViewById(R.id.infoLayout);
infoLayout.setOnClickListener(this);
vrLayout = (LinearLayout) findViewById(R.id.vrLayout);
vrLayout.setOnClickListener(this);
historyLayout = (LinearLayout) findViewById(R.id.historyLayout);
historyLayout.setOnClickListener(this);
playPauseView = (ImageView) findViewById(R.id.playPauseIV);
playPauseView.setOnClickListener(this);
fetchData();
}
public void fetchData()
{
// TODO get data
cityTV.setText("Seattle, WA");
}
public void showFlightInfo()
{
Intent intent = new Intent(this, FlightMap.class);
startActivity(intent);
}
public void showHistory()
{
Intent intent = new Intent(this, HistoryActivity.class);
startActivity(intent);
}
public void showVRSelection()
{
Intent intent = new Intent(this, VRActivity.class);
startActivity(intent);
}
public void bindService()
{
Log.i("MainActivity", "Binding service");
Intent intent = new Intent(this, AudioService.class);
startService(intent);
bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE);
}
public void unBindStopService()
{
unbindService(serviceConnection);
stopService(new Intent(this, AudioService.class));
}
public void unBindService()
{
Log.i("MainActivity", "Unbinding service");
unbindService(serviceConnection);
}
@Override
public void onDestroy()
{
if (audioService != null && audioService.isPlaying())
audioService.stop();
unBindService();
super.onDestroy();
}
@Override
public void onResume()
{
super.onResume();
if (audioService == null)
bindService();
}
public void playMusic()
{
if (audioService != null && isPaused)
{
audioService.play();
isPaused = false;
playPauseView.setImageResource(R.drawable.quantum_ic_pause_grey600_36);
} else if (audioService != null && !isPaused)
{
audioService.stop();
isPaused = true;
playPauseView.setImageResource(R.drawable.quantum_ic_play_arrow_grey600_36);
}
}
@Override
public void onClick(View view)
{
switch (view.getId())
{
case R.id.infoLayout:
showFlightInfo();
break;
case R.id.historyLayout:
showHistory();
break;
case R.id.vrLayout:
showVRSelection();
break;
case R.id.playPauseIV:
playMusic();
break;
}
}
}
view raw gistfile1.txt hosted with ❤ by GitHub
W
William Zulueta
public class MainActivity extends AppCompatActivity implements View.OnClickListener
{
private TextView cityTV;
private LinearLayout infoLayout;
private LinearLayout vrLayout;
private LinearLayout historyLayout;
private AudioService audioService;
private ImageView playPauseView;
private boolean isPaused = true;
private ServiceConnection serviceConnection = new ServiceConnection()
{
@Override
public void onServiceConnected(ComponentName name, IBinder service)
{
audioService = ((AudioService.AudioBinder) service).getService();
Log.i("MainActivity", "Service connected");
}
@Override
public void onServiceDisconnected(ComponentName name)
{
Log.i("MainActivity", "Service disconnected");
audioService = null;
}
};
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
setContentView(R.layout.activity_main);
cityTV = (TextView) findViewById(R.id.cityTV);
infoLayout = (LinearLayout) findViewById(R.id.infoLayout);
infoLayout.setOnClickListener(this);
vrLayout = (LinearLayout) findViewById(R.id.vrLayout);
vrLayout.setOnClickListener(this);
historyLayout = (LinearLayout) findViewById(R.id.historyLayout);
historyLayout.setOnClickListener(this);
playPauseView = (ImageView) findViewById(R.id.playPauseIV);
playPauseView.setOnClickListener(this);
fetchData();
}
public void fetchData()
{
// TODO get data
cityTV.setText("Seattle, WA");
}
public void showFlightInfo()
{
Intent intent = new Intent(this, FlightMap.class);
startActivity(intent);
}
public void showHistory()
{
Intent intent = new Intent(this, HistoryActivity.class);
startActivity(intent);
}
public void showVRSelection()
{
Intent intent = new Intent(this, VRActivity.class);
startActivity(intent);
}
public void bindService()
{
Log.i("MainActivity", "Binding service");
Intent intent = new Intent(this, AudioService.class);
startService(intent);
bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE);
}
public void unBindStopService()
{
unbindService(serviceConnection);
stopService(new Intent(this, AudioService.class));
}
public void unBindService()
{
Log.i("MainActivity", "Unbinding service");
unbindService(serviceConnection);
}
@Override
public void onDestroy()
{
if (audioService != null && audioService.isPlaying())
audioService.stop();
unBindService();
super.onDestroy();
}
@Override
public void onResume()
{
super.onResume();
if (audioService == null)
bindService();
}
public void playMusic()
{
if (audioService != null && isPaused)
{
audioService.play();
isPaused = false;
playPauseView.setImageResource(R.drawable.quantum_ic_pause_grey600_36);
} else if (audioService != null && !isPaused)
{
audioService.stop();
isPaused = true;
playPauseView.setImageResource(R.drawable.quantum_ic_play_arrow_grey600_36);
}
}
@Override
public void onClick(View view)
{
switch (view.getId())
{
case R.id.infoLayout:
showFlightInfo();
break;
case R.id.historyLayout:
showHistory();
break;
case R.id.vrLayout:
showVRSelection();
break;
case R.id.playPauseIV:
playMusic();
break;
}
}
}
view raw gistfile1.txt hosted with ❤ by GitHub
W
William Zulueta
Pilot Plus high level architecture
Pilot Plus high level architecture
erhanerenErhan Eren
What we are missing.
What we are missing.
erhanerenErhan Eren

Air travel, shortens the distance between countries, and between cities. However, because we enter an enclosed controlled environment of a steel tube, in one place, and exit in another, we have no visceral experience of the places in between. We fly over hundreds different cities, natural marvels, and cultures, but we feel no connection to them, at 39,000 feet there is no human scale experience that we can connect to, reducing whole swathes of the country to “flyover country.” Intel, NASA and our project, Passenger Plus, will reverse this trend.

There are a billion passengers a year in just the United States. Imagine the missed opportunities: how many cities, and, countries did we fly over with no clue about the richness of geography, points of interest, and cultural locations?

Passenger Plus, is a Virtual Reality backed application, that uses Intel Edison software and NASA resources. When we fly over a city, our application will identify which cities we are over, and make available the experience of walking in the cities below us, using VR. To create a multi-sense immersive experience, the application will identify the local music and artists and play in our ears.

erhanerenErhan Eren
NASA Logo

SpaceApps is a NASA incubator innovation program.