Since aar's contain the raw resource to be compiled into the
consumer package, having the compiled java from the resources
inside of the java archive can lead to multiple instances
of the class in the target package during compilation.
Avoid that scenario by excluding the compile 'cyanogenmod/library'
package from the final aar.
TICKET: CYNGNOS-2305
Change-Id: I3b40205f4c2173ecd059e034312ed18dc9c6de34
RequestStatus holds only final constants and should not provide
public constructors. This class also should be final.
This patch also fix minor typos on RequestStatus javadoc
Change-Id: I0deb1d6a9b23eed83451dec352bb4c410e2378d6
TICKET: CYNGNOS-2441
The Weather Manager Service should not impose rules regarding how
a weather provide service wants to react to back to back weather
update requests, nor impose the time a caller should wait before
a new request can be submitted. These constraints vary between
weather services, so it's up the each implementation to enforce
these constraints.
With this patch, the Weather manager service will pass the requests
as they come from the requester and it will be up to the active service
provider decide whether process or reject the request.
Changes to API:
- Moved the request statuses to new inner class RequestStatus in
CMWeatherManager
- Pass status arg to onLookupCityRequestCompleted()
- Added reject(int) method to ServiceRequest
Change-Id: I3512490688255e25395e955d506fe42ed52f8fe0
TICKET: CYNGNOS-2430
Make sure the the weather update requests are using the temperature
unit set by the user in the weather settings
Change-Id: Iac3a891b5afbcf36a87386f828b40bcbd0e1de02
TICKET: CYNGNOS-2429
Introduce WEATHER_TEMPERATURE_UNIT. This setting will be used to
store the temperature unit in which the weather data will be reported.
Users will be able to set this value in the weather settings menu.
Each weather service provider might choose to provide the user
with a way to overlay this value (for example via the settings
activity that each service provider can define)
Change-Id: Ib6e47c9790aba02e6c29bd7f783730efda9177f3
TICKET:CYNGNOS-2426
Instead of exposing the RequestInfo object created by the WeatherMgr
return an ID to identify the request. This ID can be later used to
cancel the request if needed. The WeatherProviderService base class
keeps track of the ongoing requests and can map this ID to the
corresponding request
This patch also include the following minor changes:
- Use List instead of ArrayList in API
- Update javadoc to public methods to reflect API changes
- Use UUID random generator in immutable classes to generate the
hashcode rather than relying solely in the hashcode of the builder
object.
Change-Id: Ib88dd0ecddd6fdb016b77ac29709fbae092dea29
TICKET: CYNGNOS-2425
TICKET: CYNGNOS-2423
* Moving LiveDisplay to CMSDK!
* Completely redesigned the feature for future expansion.
* No new features in this patch, but a proper API is being
designed.
Change-Id: Ic8f55678f9141bf3386b2a1cf2fd1e8b3916c278
for common resources
TICKET: CYNGNOS-2305
Change-Id: Idc1872b5fa3884754b49b08d2f8381f18fba234d
Signed-off-by: Roman Birg <roman@cyngn.com>
Signed-off-by: Adnan Begovic <adnan@cyngn.com>
An empty string for the package name implies the given component
should be cleared out, so make sure updateBootAnim respects that.
Change-Id: I07c7fc64970546c2d73a610d9c0b71f1e757657d
TICKET: CRACKLING-1043
collapseNotificationPanel is no longer applicable with the updated
UX so deprecate it and document that it will essentially be a no-op
Change-Id: I285bb48e3a9ffec8d554f880edf17e5105c94018
TICKET: CYNGNOS-2392
- Renamed TYPE_GEO_LOCATION_REQ to TYPE_WEATHER_BY_GEO_LOCATION_REQ
and TYPE_WEATHER_LOCATION_REQ to TYPE_WEATHER_BY_WEATHER_LCATION_REQ
- Prevent null argument on setter methods. Documentation updated to
warn user of IllegalArgumentException if null is passed
Change-Id: I6ba8fb7fb3a10d8c964414b58e00d9ce77a74e84
TICKET: CYNGNOS-2377
- Builder constructor takes now 3 args: city name, temp and temp
unit. This is the minimun data that a weather service should
provide when a weather update request is processed.
- Float members have been changed to double. Setter/getter methods
updated.
- New setter/getter methods have been added to set current day high
and low temp. Forecast list should be used only to provide weather
forecast for upcoming days (this has been clearly documented).
WeatherContract was updated to include these 2 new columns
- Added javadoc to all public methods
- Timestamp is not longer required in constructor. A new method
setTimestamp has been added
Change-Id: Ia1edcfef0e2268f3881fed076c6ad74a81ca7334
TICKET: CYNGNOS-2365
TICKET: CYNGNOS-2382
TICKET: CYNGNOS-2356
TICKET: CYNGNOS-2360
Some weather service providers might require an additional
state (territory) field to better identify a location, so
a new field has been added to WeatherLocation class to hold
this data.
This patch also adds javadoc to public methods
TICKET: CYNGNOS-2384
Change-Id: I927f58d436f044df3c8af496b0f27e017f5e73e3
getBroadcastItem is only valid if beginBroadcast is called
RemoteCallbackList.java:
"Retrieve an item in the active broadcast that was previously started
* with {@link #beginBroadcast}"
Fix logic to do so
TICKET: CYNGNOS-2397
Change-Id: Iec787a088ae3999e5024776ad50143249c434084
Add new API cancelRequest to CMWeatherManager. This will allow
clients to cancel a request that was previuosly submitted to
the weather service.
As part of this change, requestWeatherUpdate(weatherLocation),
requestWeatherUpdate(Location) and lookupCity(cityName) will
now return the RequestInfo object created if the request
was successfully submitted to the weather manager service
TICKET: CYNGNOS-2383
TICKET: CYNGNOS-2385
Change-Id: Ic122f91e0ea8a24d81dbed48741ef1e33567b56c
If a new weather service provider is selected, reset the timer so
the newly selected provider can process the weather update requests
Change-Id: I2d16000b0eb987c6d0985b465af3259a3619d8ef
TICKET: CYNGNOS-2364
Used for accessing DataUsageProvider which is used by the Settings
App for monitoring per App cellular bandwidth consumption
Change-Id: Iab0fa27de69067c706d98eb08cc0458eb74111dc
Simply, Concierge handles your parcels and makes sure they
get marshalled and unmarshalled correctly when cross IPC
boundaries even when there is a version mismatch between the client
sdk level and the framework implementation.
On incoming parcel (to be unmarshalled):
ParcelInfo incomingParcelInfo = Concierge.receiveParcel(incomingParcel);
int parcelableVersion = incomingParcelInfo.getParcelVersion();
// Do unmarshalling steps here iterating over every plausible version
// Complete the process
incomingParcelInfo.complete();
On outgoing parcel (to be marshalled):
ParcelInfo outgoingParcelInfo = Concierge.prepareParcel(incomingParcel);
// Do marshalling steps here iterating over every plausible version
// Complete the process
outgoingParcelInfo.complete();
Change-Id: I0096851e08ce25908e19e39e6bc4af344e85725e
Introduce CM Weather Manager and Weather Provider Services API.
The CM Weather Manager can be used by apps to request weather
updates.
The Weather Provider Services API allows a third party developer to
implement a weather service to process weather update requests and
update the CM Weather Content Provider data which can be consumed by
any other app holding the required permission.
Change-Id: Idcc80712ba92715109d3577d120f7fea85d6c996
Because we restrict the window type used for live lock screens to
only one instance, we need to know when the current one is detached
so that a new one can be added.
Change-Id: I55cf79a8eeb962b53c01014ec97373403cd073b6
Unflattening an empty string will result in a null ComponentName
which will cause an IllegalArgumentException when building the
LiveLockScreenInfo.
Change-Id: I0bafddb48a47ef67d9833cd12bff7eb34369425e
The live lock screen service is resposonsible for deciding what
LLS should be displayed at any given time. Live lock screens can
be swapped out using a priority based system.
Change-Id: Ifba73e839b749fe78a9e4ee347dd20eea6bf0a22
Also retrieve service on Singleton constructor to match
patterns of other manager service relationships.
Change-Id: I4dbca5d0a2339603ddfb58ee54959355d24c8a9a
TICKET: CYNGNOS-2319