From c97f80b87e8fda264c30475e11d1344caf9c020f Mon Sep 17 00:00:00 2001 From: rahulworld Date: Fri, 10 Mar 2017 14:28:09 +0530 Subject: [PATCH 1/3] Adding Main Activity --- .idea/.name | 1 - .idea/copyright/profiles_settings.xml | 3 - .idea/encodings.xml | 6 -- .idea/gradle.xml | 11 +-- .idea/misc.xml | 18 +--- .idea/modules.xml | 2 +- .idea/vcs.xml | 6 -- app/src/main/AndroidManifest.xml | 5 +- .../org/istsos/androiddemo/AboutIstSos.java | 26 +++++ .../org/istsos/androiddemo/MainActivity.java | 66 +++++++++++-- .../androiddemo/ObservationActivities.java | 2 +- .../androiddemo/RegisterSensorActivity.java | 1 + app/src/main/res/drawable/about_grey.png | Bin 0 -> 5252 bytes app/src/main/res/drawable/contacts.png | Bin 0 -> 3773 bytes app/src/main/res/drawable/coordinate.png | Bin 0 -> 6360 bytes app/src/main/res/drawable/database.png | Bin 0 -> 5527 bytes app/src/main/res/drawable/getobs.png | Bin 0 -> 5580 bytes app/src/main/res/drawable/istsos2.png | Bin 0 -> 2964 bytes app/src/main/res/drawable/istsos_logo.png | Bin 0 -> 20464 bytes app/src/main/res/drawable/new_service.png | Bin 0 -> 8724 bytes .../main/res/drawable/observed_properties.png | Bin 0 -> 5537 bytes app/src/main/res/drawable/offerings.png | Bin 0 -> 4875 bytes app/src/main/res/drawable/provider.png | Bin 0 -> 6936 bytes app/src/main/res/drawable/quality.png | Bin 0 -> 3613 bytes app/src/main/res/drawable/status_1.png | Bin 0 -> 5379 bytes app/src/main/res/layout/about_istsos.xml | 32 ++++++ app/src/main/res/layout/activity_main.xml | 92 +++++++++++++++++- .../res/layout/custom_layout_actionbar.xml | 28 ++++++ app/src/main/res/layout/toolbar.xml | 1 - app/src/main/res/values/strings.xml | 4 - app/src/main/res/values/styles.xml | 6 +- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 4 +- 33 files changed, 250 insertions(+), 66 deletions(-) delete mode 100644 .idea/.name delete mode 100644 .idea/copyright/profiles_settings.xml delete mode 100644 .idea/encodings.xml delete mode 100644 .idea/vcs.xml create mode 100644 app/src/main/java/org/istsos/androiddemo/AboutIstSos.java create mode 100644 app/src/main/res/drawable/about_grey.png create mode 100644 app/src/main/res/drawable/contacts.png create mode 100644 app/src/main/res/drawable/coordinate.png create mode 100644 app/src/main/res/drawable/database.png create mode 100644 app/src/main/res/drawable/getobs.png create mode 100644 app/src/main/res/drawable/istsos2.png create mode 100755 app/src/main/res/drawable/istsos_logo.png create mode 100644 app/src/main/res/drawable/new_service.png create mode 100644 app/src/main/res/drawable/observed_properties.png create mode 100644 app/src/main/res/drawable/offerings.png create mode 100644 app/src/main/res/drawable/provider.png create mode 100644 app/src/main/res/drawable/quality.png create mode 100644 app/src/main/res/drawable/status_1.png create mode 100644 app/src/main/res/layout/about_istsos.xml create mode 100644 app/src/main/res/layout/custom_layout_actionbar.xml diff --git a/.idea/.name b/.idea/.name deleted file mode 100644 index 2462662..0000000 --- a/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -Android Demo \ No newline at end of file diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml deleted file mode 100644 index e7bedf3..0000000 --- a/.idea/copyright/profiles_settings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml deleted file mode 100644 index 97626ba..0000000 --- a/.idea/encodings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 4f6a039..ebd3aee 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -3,8 +3,9 @@ diff --git a/.idea/misc.xml b/.idea/misc.xml index cca2cda..5d19981 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -37,26 +37,10 @@ - + - - - - - 1.8 - - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml index fc688fb..00de984 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,7 +2,7 @@ - + diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 94a25f7..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 432a7f9..d25b7be 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,8 +9,8 @@ android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" - android:theme="@style/Theme.AppCompat.Light.NoActionBar"> - + android:theme="@style/CustomTheme"> + @@ -18,6 +18,7 @@ + diff --git a/app/src/main/java/org/istsos/androiddemo/AboutIstSos.java b/app/src/main/java/org/istsos/androiddemo/AboutIstSos.java new file mode 100644 index 0000000..780718a --- /dev/null +++ b/app/src/main/java/org/istsos/androiddemo/AboutIstSos.java @@ -0,0 +1,26 @@ +package org.istsos.androiddemo; + +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v7.app.ActionBar; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.Toolbar; + +/** + * Created by rahul on 10/3/17. + */ + +public class AboutIstSos extends AppCompatActivity { + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.about_istsos); + getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); + getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#252535"))); + getSupportActionBar().setDisplayShowCustomEnabled(true); + getSupportActionBar().setCustomView(R.layout.custom_layout_actionbar); + getSupportActionBar().getCustomView(); + } +} diff --git a/app/src/main/java/org/istsos/androiddemo/MainActivity.java b/app/src/main/java/org/istsos/androiddemo/MainActivity.java index 77dabdf..e1b3b16 100644 --- a/app/src/main/java/org/istsos/androiddemo/MainActivity.java +++ b/app/src/main/java/org/istsos/androiddemo/MainActivity.java @@ -1,30 +1,54 @@ package org.istsos.androiddemo; +import android.content.Intent; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; import android.os.Bundle; +import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; +import android.view.View; +import android.widget.ImageButton; -public class MainActivity extends AppCompatActivity { +public class MainActivity extends AppCompatActivity implements View.OnClickListener{ + ImageButton SensorDescribe,Observation,About,Status,Coordinate,NewService; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - if (savedInstanceState == null) { - getSupportFragmentManager().beginTransaction() - .add(R.id.container, new ServicesFragment()) - .commit(); - } + getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); + getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#252535"))); + getSupportActionBar().setDisplayShowCustomEnabled(true); + getSupportActionBar().setCustomView(R.layout.custom_layout_actionbar); + getSupportActionBar().getCustomView(); - Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); - setSupportActionBar(toolbar); + Observation= (ImageButton) findViewById(R.id.observation_img_btn); + SensorDescribe= (ImageButton) findViewById(R.id.sensor_describe_img_btn); + About=(ImageButton) findViewById(R.id.about_img_btn); + Status= (ImageButton) findViewById(R.id.status_img_btn); + Coordinate= (ImageButton) findViewById(R.id.coordinate_img_btn); + NewService= (ImageButton) findViewById(R.id.new_service_img_btn); +// if (savedInstanceState == null) { +// getSupportFragmentManager().beginTransaction() +// .add(R.id.container, new ServicesFragment()) +// .commit(); +// } +// Toolbar actionBar = (Toolbar) findViewById(R.id.toolbar); +// //actionBar.setLogo(R.drawable.istsos_logo); +// setSupportActionBar(actionBar); + Observation.setOnClickListener(this); + SensorDescribe.setOnClickListener(this); + About.setOnClickListener(this); + Status.setOnClickListener(this); + Coordinate.setOnClickListener(this); + NewService.setOnClickListener(this); } - @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. @@ -46,4 +70,28 @@ public boolean onOptionsItemSelected(MenuItem item) { return super.onOptionsItemSelected(item); } + + @Override + public void onClick(View arg0) { + switch (arg0.getId()) { + case R.id.observation_img_btn: + startActivity(new Intent(this,ObservationActivities.class)); + break; + case R.id.sensor_describe_img_btn: + startActivity(new Intent(this,ObservationActivities.class)); + break; + case R.id.status_img_btn: + startActivity(new Intent(this,ObservationActivities.class)); + break; + case R.id.about_img_btn: + startActivity(new Intent(this,AboutIstSos.class)); + break; + case R.id.new_service_img_btn: + startActivity(new Intent(this,ObservationActivities.class)); + break; + case R.id.coordinate_img_btn: + startActivity(new Intent(this,ObservationActivities.class)); + break; + } + } } diff --git a/app/src/main/java/org/istsos/androiddemo/ObservationActivities.java b/app/src/main/java/org/istsos/androiddemo/ObservationActivities.java index b2eb157..8597d7c 100644 --- a/app/src/main/java/org/istsos/androiddemo/ObservationActivities.java +++ b/app/src/main/java/org/istsos/androiddemo/ObservationActivities.java @@ -11,7 +11,7 @@ public class ObservationActivities extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); + setContentView(R.layout.activity_observation_activities); if (savedInstanceState == null) { getSupportFragmentManager().beginTransaction() .add(R.id.container, new ObservationFragment()) diff --git a/app/src/main/java/org/istsos/androiddemo/RegisterSensorActivity.java b/app/src/main/java/org/istsos/androiddemo/RegisterSensorActivity.java index 4166065..41dfd09 100644 --- a/app/src/main/java/org/istsos/androiddemo/RegisterSensorActivity.java +++ b/app/src/main/java/org/istsos/androiddemo/RegisterSensorActivity.java @@ -19,6 +19,7 @@ protected void onCreate(Bundle savedInstanceState) { } Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setTitle("istSOS"); setSupportActionBar(toolbar); diff --git a/app/src/main/res/drawable/about_grey.png b/app/src/main/res/drawable/about_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..61368b3424b736a644951a128dd2a4eae41a330f GIT binary patch literal 5252 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 KMNUMnLSTY;+1n-n literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/contacts.png b/app/src/main/res/drawable/contacts.png new file mode 100644 index 0000000000000000000000000000000000000000..83735cfda33c8c8ad47e08bdf5ae7604d94c3e10 GIT binary patch literal 3773 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 a@cCaEjT`lWHoMdS0000+N4_m literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/istsos2.png b/app/src/main/res/drawable/istsos2.png new file mode 100644 index 0000000000000000000000000000000000000000..2955b685a4fac643cf3d45daa01d5aa0af8d3150 GIT binary patch literal 2964 zcmV;F3v2X=P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 KMNUMnLSTZC3OSDe literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/istsos_logo.png b/app/src/main/res/drawable/istsos_logo.png new file mode 100755 index 0000000000000000000000000000000000000000..804ee8dafa983e1a7341604277a795e1e9bd17ef GIT binary patch literal 20464 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 z

rp1Ka3kn=a80(z-mNExx0zyq>D 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/offerings.png b/app/src/main/res/drawable/offerings.png new file mode 100644 index 0000000000000000000000000000000000000000..1b27895bbe6a624c7acce119497ae619d25d5497 GIT binary patch literal 4875 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/provider.png b/app/src/main/res/drawable/provider.png new file mode 100644 index 0000000000000000000000000000000000000000..b21ab26858c0b2f98d0d29152e928daad508bda2 GIT binary patch literal 6936 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/status_1.png b/app/src/main/res/drawable/status_1.png new file mode 100644 index 0000000000000000000000000000000000000000..da34b1f09b5bc8bacf0a21d3c89490005be8b941 GIT binary patch literal 5379 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/about_istsos.xml b/app/src/main/res/layout/about_istsos.xml new file mode 100644 index 0000000..4b4d210 --- /dev/null +++ b/app/src/main/res/layout/about_istsos.xml @@ -0,0 +1,32 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 19cde60..e8da559 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,10 +1,98 @@ - + android:background="#ffffff"> + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/custom_layout_actionbar.xml b/app/src/main/res/layout/custom_layout_actionbar.xml new file mode 100644 index 0000000..0bdaf0b --- /dev/null +++ b/app/src/main/res/layout/custom_layout_actionbar.xml @@ -0,0 +1,28 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/toolbar.xml b/app/src/main/res/layout/toolbar.xml index 6def1bc..c95c4ff 100644 --- a/app/src/main/res/layout/toolbar.xml +++ b/app/src/main/res/layout/toolbar.xml @@ -8,5 +8,4 @@ android:elevation="4dp" xmlns:android="http://schemas.android.com/apk/res/android" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> - \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 619cb67..9393a8d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -4,12 +4,8 @@ Load services Press to load services Available services - - - Sensor has been registered - diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 0eb88fe..1a13024 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,5 +1,4 @@ - - + diff --git a/build.gradle b/build.gradle index 950702e..53a0be2 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.1.2' + classpath 'com.android.tools.build:gradle:2.2.3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 122a0dc..cdb99d7 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Mon Dec 28 10:00:20 PST 2015 +#Sun Feb 26 00:24:14 IST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip From 723d73f73de50fcbf3fbd35dc4ad570086d85633 Mon Sep 17 00:00:00 2001 From: rahulworld Date: Sun, 12 Mar 2017 00:11:33 +0530 Subject: [PATCH 2/3] added services --- app/src/main/AndroidManifest.xml | 2 +- .../org/istsos/androiddemo/AboutIstSos.java | 34 ++++++++++- .../androiddemo/DescribeSensorActivity.java | 54 +++++++++-------- .../androiddemo/DescribeSensorFragment.java | 49 ++++++++------- .../androiddemo/DisplayInsertObservation.java | 17 +++++- .../org/istsos/androiddemo/MainActivity.java | 45 ++++++++------ .../androiddemo/ObservationActivities.java | 59 +++++++++++-------- .../androiddemo/ObservationFragment.java | 41 ++++++------- .../androiddemo/RegisterSensorActivity.java | 14 +++-- .../androiddemo/RegisterSensorFragment.java | 44 ++++++-------- .../istsos/androiddemo/ServicesFragment.java | 37 ++++++------ .../activity_observation_activities.xml | 1 + .../res/layout/activity_register_sensor.xml | 1 + .../res/layout/custom_layout_actionbar.xml | 3 + .../res/layout/fragment_describe_sensor.xml | 7 +-- .../main/res/layout/fragment_observation.xml | 5 -- .../res/layout/fragment_register_sensor.xml | 5 -- app/src/main/res/layout/fragment_services.xml | 9 +-- app/src/main/res/menu/menu_main.xml | 13 +++- app/src/main/res/values/strings.xml | 7 +++ .../java/org/istsos/client/SamplingTime.java | 3 - 21 files changed, 255 insertions(+), 195 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d25b7be..75e340d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -10,7 +10,6 @@ android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/CustomTheme"> - @@ -18,6 +17,7 @@ + diff --git a/app/src/main/java/org/istsos/androiddemo/AboutIstSos.java b/app/src/main/java/org/istsos/androiddemo/AboutIstSos.java index 780718a..0180782 100644 --- a/app/src/main/java/org/istsos/androiddemo/AboutIstSos.java +++ b/app/src/main/java/org/istsos/androiddemo/AboutIstSos.java @@ -7,12 +7,18 @@ import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.widget.TextView; +import android.widget.Toast; /** * Created by rahul on 10/3/17. */ public class AboutIstSos extends AppCompatActivity { + TextView AboutTV; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -21,6 +27,32 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#252535"))); getSupportActionBar().setDisplayShowCustomEnabled(true); getSupportActionBar().setCustomView(R.layout.custom_layout_actionbar); - getSupportActionBar().getCustomView(); + View view=getSupportActionBar().getCustomView(); + AboutTV= (TextView) view.findViewById(R.id.about_tv); + AboutTV.setText("Server-> About"); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.menu_main, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case R.id.action_settings: + Toast.makeText(this, "selected Server", Toast.LENGTH_SHORT).show(); + return true; + case R.id.service_settings: + Toast.makeText(this, "selected Services", Toast.LENGTH_SHORT).show(); + return true; + case R.id.data_manage_settings: + Toast.makeText(this, "selected Data Management", Toast.LENGTH_SHORT).show(); + return true; + default: + return super.onOptionsItemSelected(item); + } } } diff --git a/app/src/main/java/org/istsos/androiddemo/DescribeSensorActivity.java b/app/src/main/java/org/istsos/androiddemo/DescribeSensorActivity.java index a695c4d..95edaff 100644 --- a/app/src/main/java/org/istsos/androiddemo/DescribeSensorActivity.java +++ b/app/src/main/java/org/istsos/androiddemo/DescribeSensorActivity.java @@ -1,10 +1,14 @@ package org.istsos.androiddemo; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; +import android.view.View; public class DescribeSensorActivity extends AppCompatActivity { @@ -12,35 +16,37 @@ public class DescribeSensorActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_describe_sensor); + getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); + getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#252535"))); + getSupportActionBar().setDisplayShowCustomEnabled(true); + getSupportActionBar().setCustomView(R.layout.custom_layout_actionbar); + View view=getSupportActionBar().getCustomView(); if (savedInstanceState == null) { getSupportFragmentManager().beginTransaction() .add(R.id.container, new DescribeSensorFragment()) .commit(); } - - Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); - setSupportActionBar(toolbar); } - @Override - public boolean onCreateOptionsMenu(Menu menu) { - // Inflate the menu; this adds items to the action bar if it is present. - getMenuInflater().inflate(R.menu.menu_main, menu); - return true; - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - // Handle action bar item clicks here. The action bar will - // automatically handle clicks on the Home/Up button, so long - // as you specify a parent activity in AndroidManifest.xml. - int id = item.getItemId(); - - //noinspection SimplifiableIfStatement - if (id == R.id.action_settings) { - return true; - } - - return super.onOptionsItemSelected(item); - } +// @Override +// public boolean onCreateOptionsMenu(Menu menu) { +// // Inflate the menu; this adds items to the action bar if it is present. +// getMenuInflater().inflate(R.menu.menu_main, menu); +// return true; +// } +// +// @Override +// public boolean onOptionsItemSelected(MenuItem item) { +// // Handle action bar item clicks here. The action bar will +// // automatically handle clicks on the Home/Up button, so long +// // as you specify a parent activity in AndroidManifest.xml. +// int id = item.getItemId(); +// +// //noinspection SimplifiableIfStatement +// if (id == R.id.action_settings) { +// return true; +// } +// +// return super.onOptionsItemSelected(item); +// } } diff --git a/app/src/main/java/org/istsos/androiddemo/DescribeSensorFragment.java b/app/src/main/java/org/istsos/androiddemo/DescribeSensorFragment.java index 58f1716..af8e055 100644 --- a/app/src/main/java/org/istsos/androiddemo/DescribeSensorFragment.java +++ b/app/src/main/java/org/istsos/androiddemo/DescribeSensorFragment.java @@ -10,6 +10,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.TextView; +import android.widget.Toast; import org.istsos.client.EventObject; import org.istsos.client.IstSOS; @@ -41,29 +42,28 @@ public void onCreate(Bundle savedInstanceState) { setHasOptionsMenu(true); } - @Override - public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { - inflater.inflate(R.menu.menu_main, menu); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - // Handle action bar item clicks here. The action bar will - // automatically handle clicks on the Home/Up button, so long - // as you specify a parent activity in AndroidManifest.xml. - int id = item.getItemId(); - - //noinspection SimplifiableIfStatement - if (id == R.id.action_settings) { - return true; - } - - return super.onOptionsItemSelected(item); - } +// @Override +// public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { +// inflater.inflate(R.menu.menu_main, menu); +// } +// +// @Override +// public boolean onOptionsItemSelected(MenuItem item) { +// // Handle action bar item clicks here. The action bar will +// // automatically handle clicks on the Home/Up button, so long +// // as you specify a parent activity in AndroidManifest.xml. +// int id = item.getItemId(); +// +// //noinspection SimplifiableIfStatement +// if (id == R.id.action_settings) { +// return true; +// } +// +// return super.onOptionsItemSelected(item); +// } @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { + public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { // Inflate the layout for this fragment View rootView = inflater.inflate(R.layout.fragment_describe_sensor, container, false); //retrieve intent from main activity @@ -101,20 +101,17 @@ protected void loadDescribeSensor(){ final Service service = server.getService(serviceName); - service.describeSensor("T_LUGANO", new IstSOSListener() { + service.describeSensor("BELLINZONA", new IstSOSListener() { @Override public void onSuccess(EventObject event) { - describedSensor = (Procedure) event.getObject(); - name = describedSensor.getName(); description = describedSensor.getDescription(); keywords = describedSensor.getKeywords(); assignedId = describedSensor.getAssignedId(); - + System.out.println(name); } - @Override public void onError(EventObject event) { diff --git a/app/src/main/java/org/istsos/androiddemo/DisplayInsertObservation.java b/app/src/main/java/org/istsos/androiddemo/DisplayInsertObservation.java index 70f42f5..5311e34 100644 --- a/app/src/main/java/org/istsos/androiddemo/DisplayInsertObservation.java +++ b/app/src/main/java/org/istsos/androiddemo/DisplayInsertObservation.java @@ -1,11 +1,15 @@ package org.istsos.androiddemo; import android.content.Context; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; import android.hardware.Sensor; import android.hardware.SensorManager; import android.os.Bundle; +import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.view.View; +import android.widget.TextView; import org.istsos.client.EventObject; import org.istsos.client.IstSOS; @@ -20,11 +24,18 @@ public class DisplayInsertObservation extends AppCompatActivity{ private SensorManager mSensorManager; private Sensor mTemperature; - + TextView AboutTV; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_display_insert_observation); + getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); + getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#252535"))); + getSupportActionBar().setDisplayShowCustomEnabled(true); + getSupportActionBar().setCustomView(R.layout.custom_layout_actionbar); + View view=getSupportActionBar().getCustomView(); + AboutTV= (TextView) view.findViewById(R.id.about_tv); + AboutTV.setText("Insert Observation"); } public void insertObservation(View view){ @@ -41,9 +52,9 @@ public void onSuccess(EventObject event) { mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); mTemperature = mSensorManager.getDefaultSensor(Sensor.TYPE_AMBIENT_TEMPERATURE); - //service.describeSensor(""); + service.describeSensor(""); - //service.insertObservation(); + //service.insertObservation(""); } diff --git a/app/src/main/java/org/istsos/androiddemo/MainActivity.java b/app/src/main/java/org/istsos/androiddemo/MainActivity.java index e1b3b16..a218077 100644 --- a/app/src/main/java/org/istsos/androiddemo/MainActivity.java +++ b/app/src/main/java/org/istsos/androiddemo/MainActivity.java @@ -12,10 +12,12 @@ import android.view.MenuItem; import android.view.View; import android.widget.ImageButton; +import android.widget.TextView; +import android.widget.Toast; public class MainActivity extends AppCompatActivity implements View.OnClickListener{ ImageButton SensorDescribe,Observation,About,Status,Coordinate,NewService; - + TextView AboutTV; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -24,7 +26,9 @@ protected void onCreate(Bundle savedInstanceState) { getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#252535"))); getSupportActionBar().setDisplayShowCustomEnabled(true); getSupportActionBar().setCustomView(R.layout.custom_layout_actionbar); - getSupportActionBar().getCustomView(); + View view=getSupportActionBar().getCustomView(); + AboutTV= (TextView) view.findViewById(R.id.about_tv); + AboutTV.setText("Server"); Observation= (ImageButton) findViewById(R.id.observation_img_btn); SensorDescribe= (ImageButton) findViewById(R.id.sensor_describe_img_btn); @@ -39,9 +43,6 @@ protected void onCreate(Bundle savedInstanceState) { // .commit(); // } -// Toolbar actionBar = (Toolbar) findViewById(R.id.toolbar); -// //actionBar.setLogo(R.drawable.istsos_logo); -// setSupportActionBar(actionBar); Observation.setOnClickListener(this); SensorDescribe.setOnClickListener(this); About.setOnClickListener(this); @@ -58,17 +59,23 @@ public boolean onCreateOptionsMenu(Menu menu) { @Override public boolean onOptionsItemSelected(MenuItem item) { - // Handle action bar item clicks here. The action bar will - // automatically handle clicks on the Home/Up button, so long - // as you specify a parent activity in AndroidManifest.xml. - int id = item.getItemId(); - - //noinspection SimplifiableIfStatement - if (id == R.id.action_settings) { - return true; + switch (item.getItemId()) { + case R.id.action_settings: + Toast.makeText(this, "You have already selected Server", Toast.LENGTH_SHORT).show(); + return true; + case R.id.service_settings: + getSupportFragmentManager().beginTransaction() + .add(R.id.container, new ServicesFragment()) + .commit(); + AboutTV.setText("Services"); + Toast.makeText(this, "Selected Services Please Wait", Toast.LENGTH_SHORT).show(); + return true; + case R.id.data_manage_settings: + Toast.makeText(this, "Selected Data Management", Toast.LENGTH_SHORT).show(); + return true; + default: + return super.onOptionsItemSelected(item); } - - return super.onOptionsItemSelected(item); } @Override @@ -78,20 +85,20 @@ public void onClick(View arg0) { startActivity(new Intent(this,ObservationActivities.class)); break; case R.id.sensor_describe_img_btn: - startActivity(new Intent(this,ObservationActivities.class)); + startActivity(new Intent(this,DescribeSensorActivity.class)); break; case R.id.status_img_btn: - startActivity(new Intent(this,ObservationActivities.class)); + startActivity(new Intent(this,GetObservationActivity.class)); break; case R.id.about_img_btn: startActivity(new Intent(this,AboutIstSos.class)); break; case R.id.new_service_img_btn: - startActivity(new Intent(this,ObservationActivities.class)); + startActivity(new Intent(this,RegisterSensorActivity.class)); break; case R.id.coordinate_img_btn: startActivity(new Intent(this,ObservationActivities.class)); break; } } -} +} \ No newline at end of file diff --git a/app/src/main/java/org/istsos/androiddemo/ObservationActivities.java b/app/src/main/java/org/istsos/androiddemo/ObservationActivities.java index 8597d7c..67b1dd9 100644 --- a/app/src/main/java/org/istsos/androiddemo/ObservationActivities.java +++ b/app/src/main/java/org/istsos/androiddemo/ObservationActivities.java @@ -1,46 +1,55 @@ package org.istsos.androiddemo; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; +import android.view.View; +import android.widget.TextView; public class ObservationActivities extends AppCompatActivity { - + TextView AboutTV; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_observation_activities); + getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); + getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#252535"))); + getSupportActionBar().setDisplayShowCustomEnabled(true); + getSupportActionBar().setCustomView(R.layout.custom_layout_actionbar); + View view=getSupportActionBar().getCustomView(); + AboutTV= (TextView) view.findViewById(R.id.about_tv); + AboutTV.setText("Obeservation and sensor"); if (savedInstanceState == null) { getSupportFragmentManager().beginTransaction() .add(R.id.container, new ObservationFragment()) .commit(); } - - Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); - setSupportActionBar(toolbar); - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - // Inflate the menu; this adds items to the action bar if it is present. - getMenuInflater().inflate(R.menu.menu_main, menu); - return true; } - @Override - public boolean onOptionsItemSelected(MenuItem item) { - // Handle action bar item clicks here. The action bar will - // automatically handle clicks on the Home/Up button, so long - // as you specify a parent activity in AndroidManifest.xml. - int id = item.getItemId(); - - //noinspection SimplifiableIfStatement - if (id == R.id.action_settings) { - return true; - } - - return super.onOptionsItemSelected(item); - } +// @Override +// public boolean onCreateOptionsMenu(Menu menu) { +// // Inflate the menu; this adds items to the action bar if it is present. +// getMenuInflater().inflate(R.menu.menu_main, menu); +// return true; +// } +// +// @Override +// public boolean onOptionsItemSelected(MenuItem item) { +// // Handle action bar item clicks here. The action bar will +// // automatically handle clicks on the Home/Up button, so long +// // as you specify a parent activity in AndroidManifest.xml. +// int id = item.getItemId(); +// +// //noinspection SimplifiableIfStatement +// if (id == R.id.action_settings) { +// return true; +// } +// +// return super.onOptionsItemSelected(item); +// } } diff --git a/app/src/main/java/org/istsos/androiddemo/ObservationFragment.java b/app/src/main/java/org/istsos/androiddemo/ObservationFragment.java index 9215360..12a6a3c 100644 --- a/app/src/main/java/org/istsos/androiddemo/ObservationFragment.java +++ b/app/src/main/java/org/istsos/androiddemo/ObservationFragment.java @@ -32,25 +32,25 @@ public void onCreate(Bundle savedInstanceState) { setHasOptionsMenu(true); } - @Override - public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { - inflater.inflate(R.menu.menu_main, menu); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - // Handle action bar item clicks here. The action bar will - // automatically handle clicks on the Home/Up button, so long - // as you specify a parent activity in AndroidManifest.xml. - int id = item.getItemId(); - - //noinspection SimplifiableIfStatement - if (id == R.id.action_settings) { - return true; - } - - return super.onOptionsItemSelected(item); - } +// @Override +// public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { +// inflater.inflate(R.menu.menu_main, menu); +// } +// +// @Override +// public boolean onOptionsItemSelected(MenuItem item) { +// // Handle action bar item clicks here. The action bar will +// // automatically handle clicks on the Home/Up button, so long +// // as you specify a parent activity in AndroidManifest.xml. +// int id = item.getItemId(); +// +// //noinspection SimplifiableIfStatement +// if (id == R.id.action_settings) { +// return true; +// } +// +// return super.onOptionsItemSelected(item); +// } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, @@ -83,11 +83,8 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, @Override public void onItemClick(AdapterView parent, View view, int position, long id) { - Intent intent; - switch(position){ - case 0: intent = new Intent(getActivity(), GetObservationActivity.class); intent.putExtra("service", serviceName); diff --git a/app/src/main/java/org/istsos/androiddemo/RegisterSensorActivity.java b/app/src/main/java/org/istsos/androiddemo/RegisterSensorActivity.java index 41dfd09..70b1770 100644 --- a/app/src/main/java/org/istsos/androiddemo/RegisterSensorActivity.java +++ b/app/src/main/java/org/istsos/androiddemo/RegisterSensorActivity.java @@ -1,5 +1,8 @@ package org.istsos.androiddemo; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.Toolbar; @@ -17,12 +20,11 @@ protected void onCreate(Bundle savedInstanceState) { .add(R.id.container, new RegisterSensorFragment()) .commit(); } - - Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); - setTitle("istSOS"); - setSupportActionBar(toolbar); - - + getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); + getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#252535"))); + getSupportActionBar().setDisplayShowCustomEnabled(true); + getSupportActionBar().setCustomView(R.layout.custom_layout_actionbar); + getSupportActionBar().getCustomView(); } @Override diff --git a/app/src/main/java/org/istsos/androiddemo/RegisterSensorFragment.java b/app/src/main/java/org/istsos/androiddemo/RegisterSensorFragment.java index 0b56c0e..a7d29b5 100644 --- a/app/src/main/java/org/istsos/androiddemo/RegisterSensorFragment.java +++ b/app/src/main/java/org/istsos/androiddemo/RegisterSensorFragment.java @@ -39,25 +39,25 @@ public void onCreate(Bundle savedInstanceState) { setHasOptionsMenu(true); } - @Override - public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { - inflater.inflate(R.menu.menu_main, menu); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - // Handle action bar item clicks here. The action bar will - // automatically handle clicks on the Home/Up button, so long - // as you specify a parent activity in AndroidManifest.xml. - int id = item.getItemId(); - - //noinspection SimplifiableIfStatement - if (id == R.id.action_settings) { - return true; - } - - return super.onOptionsItemSelected(item); - } +// @Override +// public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { +// inflater.inflate(R.menu.menu_main, menu); +// } +// +// @Override +// public boolean onOptionsItemSelected(MenuItem item) { +// // Handle action bar item clicks here. The action bar will +// // automatically handle clicks on the Home/Up button, so long +// // as you specify a parent activity in AndroidManifest.xml. +// int id = item.getItemId(); +// +// //noinspection SimplifiableIfStatement +// if (id == R.id.action_settings) { +// return true; +// } +// +// return super.onOptionsItemSelected(item); +// } @Override public View onCreateView(final LayoutInflater inflater, ViewGroup container, @@ -79,18 +79,12 @@ public View onCreateView(final LayoutInflater inflater, ViewGroup container, button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - - Intent intent = new Intent(getActivity(), RegisterSensorMessage.class); intent.putExtra("sensor", newSensorName); intent.putExtra("service", serviceName); startActivity(intent); - } }); - - - return rootView; } diff --git a/app/src/main/java/org/istsos/androiddemo/ServicesFragment.java b/app/src/main/java/org/istsos/androiddemo/ServicesFragment.java index 9b4c143..e0d3550 100644 --- a/app/src/main/java/org/istsos/androiddemo/ServicesFragment.java +++ b/app/src/main/java/org/istsos/androiddemo/ServicesFragment.java @@ -40,27 +40,28 @@ public void onCreate(Bundle savedInstanceState) { // Add this line in order for this fragment to handle menu events. setHasOptionsMenu(true); - } - @Override - public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { - inflater.inflate(R.menu.menu_main, menu); } - @Override - public boolean onOptionsItemSelected(MenuItem item) { - // Handle action bar item clicks here. The action bar will - // automatically handle clicks on the Home/Up button, so long - // as you specify a parent activity in AndroidManifest.xml. - int id = item.getItemId(); - - //noinspection SimplifiableIfStatement - if (id == R.id.action_settings) { - return true; - } - - return super.onOptionsItemSelected(item); - } +// @Override +// public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { +// inflater.inflate(R.menu.menu_main, menu); +// } +// +// @Override +// public boolean onOptionsItemSelected(MenuItem item) { +// // Handle action bar item clicks here. The action bar will +// // automatically handle clicks on the Home/Up button, so long +// // as you specify a parent activity in AndroidManifest.xml. +// int id = item.getItemId(); +// +// //noinspection SimplifiableIfStatement +// if (id == R.id.action_settings) { +// return true; +// } +// +// return super.onOptionsItemSelected(item); +// } @Override public View onCreateView(final LayoutInflater inflater, ViewGroup container, diff --git a/app/src/main/res/layout/activity_observation_activities.xml b/app/src/main/res/layout/activity_observation_activities.xml index 6254ba5..bcbd0c0 100644 --- a/app/src/main/res/layout/activity_observation_activities.xml +++ b/app/src/main/res/layout/activity_observation_activities.xml @@ -7,6 +7,7 @@ android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" + android:id = "@+id/container" tools:context="org.istsos.androiddemo.ObservationActivities"> diff --git a/app/src/main/res/layout/activity_register_sensor.xml b/app/src/main/res/layout/activity_register_sensor.xml index a37c421..44edf82 100644 --- a/app/src/main/res/layout/activity_register_sensor.xml +++ b/app/src/main/res/layout/activity_register_sensor.xml @@ -7,6 +7,7 @@ android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" + android:id="@+id/container" tools:context="org.istsos.androiddemo.RegisterSensorActivity"> diff --git a/app/src/main/res/layout/custom_layout_actionbar.xml b/app/src/main/res/layout/custom_layout_actionbar.xml index 0bdaf0b..aab320c 100644 --- a/app/src/main/res/layout/custom_layout_actionbar.xml +++ b/app/src/main/res/layout/custom_layout_actionbar.xml @@ -22,7 +22,10 @@ android:textAppearance="?android:attr/textAppearanceMedium" android:textStyle="bold" android:padding="10dp" + android:paddingLeft="20dp" android:layout_alignParentTop="true" + android:id="@+id/about_tv" + android:textColor="#ffffff" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_describe_sensor.xml b/app/src/main/res/layout/fragment_describe_sensor.xml index b5a5d51..dfce7ea 100644 --- a/app/src/main/res/layout/fragment_describe_sensor.xml +++ b/app/src/main/res/layout/fragment_describe_sensor.xml @@ -2,18 +2,13 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" + android:id="@+id/container" tools:context="org.istsos.androiddemo.DescribeSensorFragment"> - - - diff --git a/app/src/main/res/layout/fragment_observation.xml b/app/src/main/res/layout/fragment_observation.xml index f1de45b..a6f1488 100644 --- a/app/src/main/res/layout/fragment_observation.xml +++ b/app/src/main/res/layout/fragment_observation.xml @@ -4,14 +4,9 @@ android:layout_height="match_parent" tools:context="org.istsos.androiddemo.ObservationFragment"> - - - - - - + + + + + - \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9393a8d..033e7eb 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -8,4 +8,11 @@ Sensor has been registered + Server + Service + Data Management + Search + Share + Delete + Print diff --git a/client/src/main/java/org/istsos/client/SamplingTime.java b/client/src/main/java/org/istsos/client/SamplingTime.java index bd29421..fbcd2b8 100644 --- a/client/src/main/java/org/istsos/client/SamplingTime.java +++ b/client/src/main/java/org/istsos/client/SamplingTime.java @@ -85,7 +85,4 @@ static SamplingTime fromJson(JsonObject json) { Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ssXX").create(); return gson.fromJson(json, SamplingTime.class); } - - - } \ No newline at end of file From b01b3f7dbdd06a2ac0b75843b6158bbca4f1b921 Mon Sep 17 00:00:00 2001 From: rahulworld Date: Sat, 25 Mar 2017 14:05:15 +0530 Subject: [PATCH 3/3] modified in available service --- app/build.gradle | 2 +- .../androiddemo/GetObservationActivity.java | 42 ++++++++--------- .../androiddemo/GetObservationFragment.java | 47 ++++++++++--------- build.gradle | 2 +- client/build.gradle | 2 +- .../main/java/org/istsos/client/Service.java | 3 +- gradle/wrapper/gradle-wrapper.properties | 4 +- 7 files changed, 53 insertions(+), 49 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 3787cad..e297914 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.application' android { compileSdkVersion 23 - buildToolsVersion "24.0.1" + buildToolsVersion "25.0.0" defaultConfig { applicationId "org.istsos.androiddemo" diff --git a/app/src/main/java/org/istsos/androiddemo/GetObservationActivity.java b/app/src/main/java/org/istsos/androiddemo/GetObservationActivity.java index a3ae1c0..aaab5b8 100644 --- a/app/src/main/java/org/istsos/androiddemo/GetObservationActivity.java +++ b/app/src/main/java/org/istsos/androiddemo/GetObservationActivity.java @@ -18,25 +18,25 @@ protected void onCreate(Bundle savedInstanceState) { } } - @Override - public boolean onCreateOptionsMenu(Menu menu) { - // Inflate the menu; this adds items to the action bar if it is present. - getMenuInflater().inflate(R.menu.menu_main, menu); - return true; - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - // Handle action bar item clicks here. The action bar will - // automatically handle clicks on the Home/Up button, so long - // as you specify a parent activity in AndroidManifest.xml. - int id = item.getItemId(); - - //noinspection SimplifiableIfStatement - if (id == R.id.action_settings) { - return true; - } - - return super.onOptionsItemSelected(item); - } +// @Override +// public boolean onCreateOptionsMenu(Menu menu) { +// // Inflate the menu; this adds items to the action bar if it is present. +// getMenuInflater().inflate(R.menu.menu_main, menu); +// return true; +// } +// +// @Override +// public boolean onOptionsItemSelected(MenuItem item) { +// // Handle action bar item clicks here. The action bar will +// // automatically handle clicks on the Home/Up button, so long +// // as you specify a parent activity in AndroidManifest.xml. +// int id = item.getItemId(); +// +// //noinspection SimplifiableIfStatement +// if (id == R.id.action_settings) { +// return true; +// } +// +// return super.onOptionsItemSelected(item); +// } } diff --git a/app/src/main/java/org/istsos/androiddemo/GetObservationFragment.java b/app/src/main/java/org/istsos/androiddemo/GetObservationFragment.java index b084a4c..1f82ac0 100644 --- a/app/src/main/java/org/istsos/androiddemo/GetObservationFragment.java +++ b/app/src/main/java/org/istsos/androiddemo/GetObservationFragment.java @@ -61,25 +61,25 @@ public void onCreate(Bundle savedInstanceState) { setHasOptionsMenu(true); } - @Override - public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { - inflater.inflate(R.menu.menu_main, menu); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - // Handle action bar item clicks here. The action bar will - // automatically handle clicks on the Home/Up button, so long - // as you specify a parent activity in AndroidManifest.xml. - int id = item.getItemId(); - - //noinspection SimplifiableIfStatement - if (id == R.id.action_settings) { - return true; - } - - return super.onOptionsItemSelected(item); - } +// @Override +// public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { +// inflater.inflate(R.menu.menu_main, menu); +// } +// +// @Override +// public boolean onOptionsItemSelected(MenuItem item) { +// // Handle action bar item clicks here. The action bar will +// // automatically handle clicks on the Home/Up button, so long +// // as you specify a parent activity in AndroidManifest.xml. +// int id = item.getItemId(); +// +// //noinspection SimplifiableIfStatement +// if (id == R.id.action_settings) { +// return true; +// } +// +// return super.onOptionsItemSelected(item); +// } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, @@ -193,15 +193,18 @@ public void onError(EventObject event) { }); //add dates - DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXX"); - String dateString1 = "2014-05-03T14:30:00"; + //DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXX"); + DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); + //String dateString1 = "2014-05-03T14:30:00"; + String dateString1 = "2014-05-03T14:30:00.235-0700"; try { from = sdf.parse(dateString1); } catch (ParseException e) { e.printStackTrace(); } - String dateString2 = "2014-06-03T14:20:00"; + //String dateString2 = "2014-06-03T14:20:00"; + String dateString2 = "2014-06-03T14:20:00.235-0700"; try { to = sdf.parse(dateString2); } catch (ParseException e) { diff --git a/build.gradle b/build.gradle index 53a0be2..aea86c1 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.2.3' + classpath 'com.android.tools.build:gradle:2.3.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/client/build.gradle b/client/build.gradle index e3cba2a..4bf3db3 100644 --- a/client/build.gradle +++ b/client/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.library' android { compileSdkVersion 23 - buildToolsVersion "24.0.1" + buildToolsVersion '25.0.0' defaultConfig { minSdkVersion 21 diff --git a/client/src/main/java/org/istsos/client/Service.java b/client/src/main/java/org/istsos/client/Service.java index c27c7ee..23131ab 100644 --- a/client/src/main/java/org/istsos/client/Service.java +++ b/client/src/main/java/org/istsos/client/Service.java @@ -409,7 +409,8 @@ public void getObservation(Offering offering, Procedure procedure, ObservedPrope public void getObervation(Offering offering, Procedure procedure, ObservedProperty defUrn, Date beginPosition, Date endPosition, final IstSOSListener callback){ - DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXX"); + //DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXX"); + DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); Map urlKeyMap = new HashMap(); urlKeyMap.put("url", this.server.getServerUrl()); diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index cdb99d7..2aedf80 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sun Feb 26 00:24:14 IST 2017 +#Sun Mar 12 23:55:58 IST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip