Hi fiends,
Follow us at our fresh twitter account. https://twitter.com/passenger_plus
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; | |
} | |
} | |
} |
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; | |
} | |
} | |
} |
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.
SpaceApps is a NASA incubator innovation program.