Comments (7)
I will see what I can find out to resolve the problem.
Original comment by [email protected]
on 5 Jun 2009 at 3:31
- Changed state: Started
- Added labels: Component-Logic, Usability
from omnidroid.
Akshah,
Here were some notes from one of the previous developers on the subject.
Off-By-One Data Error Solution:
1) Have a separate "SMS plug in" which understands our framework.
2) This plug in will generate EVENTS as required to interact with
OmniDroid.(ie Event containing the URI pointing to the exact record). At
the moment we do not get the exact URI from the SMS application; so we
query the last record in the CP. This causes the "off by one" bug.
Our suggested SMS plugin will have a "CONTENT PROVIDER OBSERVER" with
generates OmniDroid events only when the SMS CP is updated with the
required record.
3) These plug ins could be provided for all important applications; till
they interact in the way we would like them to. ie. Once applications
adapt to our framework we can get rid of the plugins.
4) These plug ins could have their own CP if there is no CP for the
original application.
This isn't a trivial bug, but it probably is the most critical bug we currently
have
as it may require significant architectural change that would mean
re-implementing
how we handle events. I think what we need right now is for you to take a
close look
at how the code is getting the data currently. Then look to see how it could be
handled differently. After that, we can try to determine if the solution
proposed
currently is the way we want to go for future development, or if there is a
better
solution.
Original comment by [email protected]
on 8 Jun 2009 at 4:49
from omnidroid.
I addressed this issue in the new version of the DummyActivity class (. Right
now,
the way the class fills the dynamic data (e.g. sender phone, message text) is by
reading the last line of the content provider. The problem is that we are
reading
the same broadcast intent that the system is using to populate the message
content
provider, so it's a problem when we get there first (an awful issue to debug,
since
adding a breakpoint before checking the table solves the problem!). Adding a 1
second delay before checking the table allows the system time to populate the
database first.
However, this method of checking the database is not very reliable, as messages
tend
to get missed if there is a flood of new messages. Google doesn't seem to have
a
supported method for getting text message data at the moment but between Ankit's
example code and some other pages I've found I think we can get the data right
out of
the intent.
Original comment by londinop
on 22 Jun 2009 at 3:23
from omnidroid.
Addressed? Does that mean it's already been resolved? Or just that you've
determined the cause? I didn't notice a commit or a code review for a fix. Is
there
one (if so, what's the appropriate rev# or link)? If not, and you're working
on it,
are you already pulling this data from the intent or you just believe you're
able to?
Original comment by [email protected]
on 22 Jun 2009 at 6:09
from omnidroid.
Sorry, to be more clear, retrieving data from the content provider is fixed in
the
code uploaded for review http://codereview.appspot.com/82054. If you send a
text
message with a reply rule enabled, you will get the same text back.
I have tested code fragments that successfully retrieve the data from the
intent, but
I wanted to bring this up in a group discussion before making any major changes
since
there are a few issues around processing intents in general.
Original comment by londinop
on 22 Jun 2009 at 6:37
from omnidroid.
This is not an issue in the redesigned core. If there are no objections I will
mark
this "WontFix"
Original comment by londinop
on 3 Aug 2009 at 3:29
from omnidroid.
Original comment by londinop
on 3 Aug 2009 at 5:21
- Changed state: Fixed
from omnidroid.
Related Issues (20)
- Event Handler Limit Crash HOT 1
- Events not executing until lock/unlock performed HOT 12
- no market access HOT 2
- Adopt Guice
- Filter, between pre-midnight and post-midnight HOT 1
- contact groups/aliases for recipient/blacklists HOT 3
- decide whether to perform actions smartly
- An action to Enable/disable actions HOT 1
- Crash when using "Time is day of week" filter HOT 2
- Sensor data not fully utilized in some cases HOT 6
- Enhancement: Disable Data traffic on low battery HOT 2
- Trigger on Wi-Fi SSID HOT 1
- Performance improvement suggestion
- Slow operation in UI thread HOT 1
- Add phone filter : in contact / not in contact
- Enhancement request: action on enter/leave WiFi or mobile base station HOT 1
- Unlock attempt event
- Phone shut down action
- Feature request: event on wifi network available / unavailable
- wrong orders of longitude and latitude when constructing a new OmniArea object in the LocationMonitor
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from omnidroid.