Skip to content

Commit

Permalink
Merge pull request #34 from io53/master
Browse files Browse the repository at this point in the history
0.7.6
  • Loading branch information
io53 committed Jan 2, 2018
2 parents 8ea9743 + 5d96475 commit bb2e6c0
Show file tree
Hide file tree
Showing 12 changed files with 207 additions and 306 deletions.
8 changes: 4 additions & 4 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ android {
applicationId "com.ruuvi.station"
minSdkVersion 19
targetSdkVersion 26
versionCode 10029
versionName "0.7.5-beta"
versionCode 10030
versionName "0.7.6-beta"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
Expand Down Expand Up @@ -47,12 +47,12 @@ dependencies {
compile "com.android.support:cardview-v7:${support_version}"
compile "com.android.support:gridlayout-v7:${support_version}"

compile 'com.jjoe64:graphview:4.2.1'
compile 'com.koushikdutta.ion:ion:2.0.0'
compile 'com.koushikdutta.ion:ion:2.2.1'
compile "com.androidplot:androidplot-core:1.5.0"
//compile 'com.google.firebase:firebase-crash:11.0.2'
compile 'com.crystal:crystalrangeseekbar:1.1.3'
compile 'com.neovisionaries:nv-bluetooth:1.7'
implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'

annotationProcessor "com.github.Raizlabs.DBFlow:dbflow-processor:${dbflow_version}"
compile "com.github.Raizlabs.DBFlow:dbflow-core:${dbflow_version}"
Expand Down
32 changes: 15 additions & 17 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,51 +10,49 @@
<uses-permission android:name="android.permission.WAKE_LOCK" />

<application
android:name="com.ruuvi.station.RuuviScannerApplication"
android:name=".RuuviScannerApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name="com.ruuvi.station.feature.main.MainActivity"
android:name=".feature.main.MainActivity"
android:launchMode="singleTop"
android:theme="@style/AppTheme.NoActionBar.TransparentStatusBar"
>
android:theme="@style/AppTheme.NoActionBar.TransparentStatusBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.ruuvi.station.feature.plot.PlotActivity"
android:label=""
android:parentActivityName="com.ruuvi.station.feature.main.MainActivity" />
<activity
android:name="com.ruuvi.station.feature.TagSettings"
android:name=".feature.TagSettings"
android:label="Tag Settings"
android:theme="@style/AppTheme.NoActionBar" />

<service
android:name="com.ruuvi.station.service.ScannerService"
android:name=".service.ScannerService"
android:exported="false" />

<receiver android:name="com.ruuvi.station.scanning.BackgroundScanner" />
<receiver android:name=".scanning.BackgroundScanner" />

<activity
android:name="com.ruuvi.station.feature.TagDetails"
android:name=".feature.TagDetails"
android:label="@string/title_activity_tag_details"
android:theme="@style/AppTheme.NoActionBar.TransparentStatusBar"
/>
<activity android:name="com.ruuvi.station.feature.WelcomeActivity"
android:theme="@style/AppTheme.NoActionBar.TransparentStatusBar" />
<activity
android:name=".feature.WelcomeActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar.TransparentStatusBar"
/>
android:theme="@style/AppTheme.NoActionBar.TransparentStatusBar" />

<meta-data
android:name="preloaded_fonts"
android:resource="@array/preloaded_fonts" />

<activity android:name=".feature.GraphActivity"
android:theme="@style/AppTheme.NoActionBar.TransparentStatusBar"
/>
</application>

</manifest>
13 changes: 0 additions & 13 deletions app/src/main/java/com/ruuvi/station/adapters/AddTagAdapter.java
Original file line number Diff line number Diff line change
Expand Up @@ -48,19 +48,6 @@ public View getView(int position, @Nullable View convertView, @NonNull ViewGroup
else if (tag.rssi < -50) signalIcon.setImageDrawable(ContextCompat.getDrawable(getContext(), R.drawable.icon_connection_2));
else signalIcon.setImageDrawable(ContextCompat.getDrawable(getContext(), R.drawable.icon_connection_3));

convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (RuuviTag.get(tag.id) != null) {
Toast.makeText(getContext(), getContext().getString(R.string.tag_already_added), Toast.LENGTH_SHORT)
.show();
return;
}
tag.save();
ScannerService.logTag(tag);
((MainActivity)getContext()).openFragment(1);
}
});
return convertView;
}
}
99 changes: 99 additions & 0 deletions app/src/main/java/com/ruuvi/station/feature/GraphActivity.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
package com.ruuvi.station.feature

import android.content.SharedPreferences
import android.graphics.Color
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.preference.PreferenceManager
import android.support.v4.content.res.ResourcesCompat
import android.support.v7.widget.Toolbar
import android.widget.Toast
import com.github.mikephil.charting.charts.LineChart
import com.github.mikephil.charting.components.Description
import com.github.mikephil.charting.components.XAxis
import com.github.mikephil.charting.components.YAxis
import com.github.mikephil.charting.data.Entry
import com.github.mikephil.charting.data.LineData
import com.github.mikephil.charting.data.LineDataSet
import com.ruuvi.station.R
import com.ruuvi.station.model.RuuviTag
import com.ruuvi.station.model.TagSensorReading
import kotlinx.android.synthetic.main.activity_graph.*
import javax.xml.datatype.DatatypeConstants.HOURS
import com.github.mikephil.charting.components.AxisBase
import com.github.mikephil.charting.formatter.IAxisValueFormatter
import java.text.SimpleDateFormat
import java.util.*
import java.util.concurrent.TimeUnit


class GraphActivity : AppCompatActivity() {
companion object {
val TAGID = "TAG_ID"
}

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_graph)


val toolbar = findViewById<Toolbar>(R.id.toolbar)
setSupportActionBar(toolbar)
supportActionBar!!.setDisplayHomeAsUpEnabled(true)
supportActionBar!!.setDisplayShowHomeEnabled(true)

val tagId = intent.getStringExtra(TAGID)
val tag = RuuviTag.get(tagId)
if (tag == null) finish()

val settings = PreferenceManager.getDefaultSharedPreferences(applicationContext);
val bgScanEnabled = settings.getBoolean("pref_bgscan", false)
if (!bgScanEnabled) Toast.makeText(applicationContext, resources.getText(R.string.bg_scan_for_graphs), Toast.LENGTH_LONG).show()

supportActionBar!!.title = tag.dispayName.toUpperCase()

val readings = TagSensorReading.getForTag(tagId)

val tempData: MutableList<Entry> = ArrayList()
val humidData: MutableList<Entry> = ArrayList()
val pressureData: MutableList<Entry> = ArrayList()

readings.map { reading ->
tempData.add(Entry(reading.createdAt.time.toFloat(), reading.temperature.toFloat()))
humidData.add(Entry(reading.createdAt.time.toFloat(), reading.humidity.toFloat()))
pressureData.add(Entry(reading.createdAt.time.toFloat(), reading.pressure.toFloat()))
}

addDataToChart(tempData, tempChart, "Temperature")
addDataToChart(humidData, humidChart, "Humidity")
addDataToChart(pressureData, pressureChart, "Pressure")
}

fun addDataToChart(data: MutableList<Entry>, chart: LineChart, label: String) {
val set = LineDataSet(data, label)
set.setDrawValues(false)
set.setDrawFilled(true)
chart.xAxis.textColor = Color.WHITE
chart.xAxis.position = XAxis.XAxisPosition.BOTTOM
chart.getAxis(YAxis.AxisDependency.LEFT).textColor = Color.WHITE
chart.getAxis(YAxis.AxisDependency.RIGHT).setDrawLabels(false)
chart.description.text = label
chart.description.textColor = Color.WHITE
chart.description.textSize = applicationContext.resources.getDimension(R.dimen.graph_description_size)
chart.description.typeface = ResourcesCompat.getFont(applicationContext, R.font.roboto)
chart.legend.isEnabled = false
chart.data = LineData(set)

chart.xAxis.valueFormatter = object : IAxisValueFormatter {
private val mFormat = SimpleDateFormat("HH:mm", Locale.getDefault())
override fun getFormattedValue(value: Float, axis: AxisBase): String {
return mFormat.format(Date(value.toLong()))
}
}
}

override fun onSupportNavigateUp(): Boolean {
finish()
return super.onSupportNavigateUp()
}
}
9 changes: 7 additions & 2 deletions app/src/main/java/com/ruuvi/station/feature/TagDetails.kt
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ class TagDetails : AppCompatActivity(), RuuviTagListener {
(tag_pager.adapter as TagPager).updateView(tag!!)
/*
tag_temp.text = temperature
tag_humidity.text = String.format(this.getString(R.string.humidity_reading), tag?.humidity)
¨åpo tag_humidity.text = String.format(this.getString(R.string.humidity_reading), tag?.humidity)
tag_pressure.text = String.format(this.getString(R.string.pressure_reading), tag?.pressure)
tag_signal.text = String.format(this.getString(R.string.signal_reading), tag?.rssi)
var updatedAt = this.resources.getString(R.string.updated) + " " + Utils.strDescribingTimeSince(tag?.updateAt);
Expand All @@ -166,11 +166,16 @@ class TagDetails : AppCompatActivity(), RuuviTagListener {
listView.onItemClickListener = AdapterView.OnItemClickListener { adapterView, view, i, l ->
when (i) {
0 -> {
val intent = Intent(this, GraphActivity::class.java)
intent.putExtra(GraphActivity.TAGID, tag?.id)
this.startActivity(intent)
}
1 -> {
val intent = Intent(this, TagSettings::class.java)
intent.putExtra(TagSettings.TAG_ID, tag?.id)
this.startActivity(intent)
}
1 -> {
2 -> {
delete()
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,21 @@


import android.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import com.ruuvi.station.R;
import com.ruuvi.station.adapters.AddTagAdapter;
import com.ruuvi.station.feature.TagSettings;
import com.ruuvi.station.model.RuuviTag;
import com.ruuvi.station.service.ScannerService;
import com.ruuvi.station.util.DataUpdateListener;

public class AddTagFragment extends Fragment implements DataUpdateListener {
Expand Down Expand Up @@ -40,6 +46,24 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
adapter = new AddTagAdapter(getActivity(), ((MainActivity)getActivity()).otherRuuviTags);
beaconListView.setAdapter(adapter);

beaconListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
RuuviTag tag = (RuuviTag)beaconListView.getItemAtPosition(i);
if (RuuviTag.get(tag.id) != null) {
Toast.makeText(getActivity(), getActivity().getString(R.string.tag_already_added), Toast.LENGTH_SHORT)
.show();
return;
}
tag.save();
ScannerService.logTag(tag);
((MainActivity)getActivity()).openFragment(1);
Intent settingsIntent = new Intent(getActivity(), TagSettings.class);
settingsIntent.putExtra(TagSettings.TAG_ID, tag.id);
startActivity(settingsIntent);
}
});

adapter.notifyDataSetChanged();

return view;
Expand Down

0 comments on commit bb2e6c0

Please sign in to comment.