Commit Graph

115 Commits

Author SHA1 Message Date
Dianne Hackborn
11b822d2a9 Simplify density compatibility to a boolean.
Instead of a list, we now just have a single boolean indicating whether an
application is density aware, and this set set to true by default as of
Donut.
2009-07-22 11:58:31 -07:00
Dianne Hackborn
c4db95c077 First pass at reworking screen density/size APIs.
This changes the names of the directories in aapt, to what you see
in the list of DpiTest resources.  Also adds a new "long" configuration
for wide screens, which the platform sets appropriate, and introduces
a new kind of resizeability for not large but significantly larger
than normal screens which may have compatibility issues.
2009-07-21 18:28:42 -07:00
Android (Google) Code Review
fe6f45c814 Merge change 8098 into donut
* changes:
  cast is floor. Use round instead.  This fixes a few layout issues (that was due to smaller widnow size)
2009-07-21 17:39:05 -07:00
Mitsuru Oshima
61324e58c5 cast is floor. Use round instead.
This fixes a few layout issues (that was due to smaller widnow size)
2009-07-21 16:42:41 -07:00
Android (Google) Code Review
43f8d2e58c Merge change 8106 into donut
* changes:
  Add note to Intent.fillIn javadoc to describe component copying behavior.
2009-07-21 16:32:14 -07:00
Brett Chabot
3e391759d9 Add note to Intent.fillIn javadoc to describe component copying behavior. 2009-07-21 16:09:08 -07:00
Mitsuru Oshima
69fff4a72d * Disable compatibility mode for all cases. 2009-07-21 11:35:18 -07:00
Ken Shirriff
c1f2836796 Fix updates from read-only calendar.
Change 2934 introduced a bug that causes updates to an event on a
read-only shared calendar to be discarded by the device.  The
issue is the server version is null for a read-only calendar.

bug=1990826
2009-07-20 15:36:56 -07:00
Mitsuru Oshima
841f13c8e9 * Reverted the change in PackageParser that I checked by accident
* More surface view fix.
  - correct event translation on surface view.
  - use compatible window
* removed FLAG_NO_COMPATIBILITY_SCALE. It was my misunderstanding of how SurfaceView works, and this was not necessary.
* Added compatibility related info to package dumpsys
2009-07-19 19:17:06 -07:00
Dianne Hackborn
2784ff0af8 Fix issue where scaled bitmap sizes could be wrong.
The Bitmap functions to get the scaled width/height couldn't actually
do the right thing because they didn't know the destination they would
be drawing to.  Now there are two forms of them, taking an explicit
parameter specifying the destination.
2009-07-18 17:13:29 -07:00
Dianne Hackborn
a53b828635 Add "nodpi" density, and expose a bunch of density-related APIs.
Also update the DpiTest app to use nodpi images, and try to have a mode
where it turns off compatibility though it's not quite working.
2009-07-17 16:59:08 -07:00
Android (Google) Code Review
54f0910138 Merge change 7613 into donut
* changes:
   * Use Fede In/Out animation if one of opening/closing apps is in compatibility mode.  * preserve compatibility window flag when the app updates window's layout params.  * Added assertion in DEFAULT_COMPATIBILITY_INFO object to prevent unintentional modification.  * A few minor updates     * log/dump message improvement     * Removed unnecessary method in FadeInOutAnimator     * Fixed 100 char issue in WindwoManagerServer.java
2009-07-17 09:54:53 -07:00
Mitsuru Oshima
5a2b91dc14 * Use Fede In/Out animation if one of opening/closing apps is in compatibility mode.
* preserve compatibility window flag when the app updates window's layout params.
 * Added assertion in DEFAULT_COMPATIBILITY_INFO object to prevent unintentional modification.
 * A few minor updates
    * log/dump message improvement
    * Removed unnecessary method in FadeInOutAnimator
    * Fixed 100 char issue in WindwoManagerServer.java
2009-07-17 09:53:40 -07:00
Charles Chen
49a60157d1 Adding public intents for TTS to enable checking for TTS data,
installing TTS data, and finding out when the TTS queue has
finished processing.
2009-07-16 18:32:07 -07:00
Android (Google) Code Review
b5c735d35c Merge change 7106 into donut
* changes:
  Return adjusted display for WindowManager.getDefaultDisplay()
2009-07-14 16:13:38 -07:00
Android (Google) Code Review
83a066c6d8 Merge change 7135 into donut
* changes:
  Fixes lock on Home. Adds a new API on Dialog to get a callback when the dialog shows.
2009-07-14 14:51:06 -07:00
Romain Guy
045163ac16 Fixes lock on Home. Adds a new API on Dialog to get a callback when the dialog
shows.
2009-07-14 14:50:31 -07:00
Dianne Hackborn
b06ea70653 Add reporting of activity movement for search manager.
This adds a new API with the activity manager to find out about movement between
activities.  For my sanity, the old IActivityWatcher is now renamed to
IActivityController, and the new activity movement interface is named
IActivityWatcher.

This changes the search manager itself to use the new API to manage its state.
Note that there are still problems when going back to the search dialog after
it was hidden -- the suggestions window no longer appears until you explicitly
dismiss and re-show it.
2009-07-14 11:37:11 -07:00
Mitsuru Oshima
ddd12535f0 Return adjusted display for WindowManager.getDefaultDisplay() 2009-07-14 11:11:17 -07:00
Mitsuru Oshima
ba3ba57921 * Use cached resources for widgets 2009-07-11 21:50:16 -07:00
Dianne Hackborn
4554f30c83 CLOSE_SYSTEM_DIALOGS can't be protected. 2009-07-10 17:30:50 -07:00
Dianne Hackborn
854060af30 Fix bug #1873249i: Apps can DoS/brick device
This is the problem where various things are listening for broadcasts
(such as battery status, PIN/PUK/Network) that an application can send
to cause harm to the system.

Solving this is tricky because many of these broadcasts are sticky,
and I have never figured out how to do permissions with sticky
broadcasts in a sane way.  So instead, I am going to punt on the
general problem and just brute force it:

There is new a way for system components to declare specific
broadcast actions to be protected, which means that only the system
and the phone can send them.  This is good enough for now.  None
of it is exposed in the public API so we can make something a little
less stupid in the future if we ever need to.
2009-07-09 18:14:31 -07:00
Dianne Hackborn
2af632f87d Add new <path-permission tag for use by global search.
This adds a new <path-permission> tag you can use inside of a <provide>
to define additional path-based permissions that broaden the global
read and write permissions.  The initial use for this will be global
search, so that a content provider that is protected by permissions
can make a part of itself available to global search under another
permission.  This addresses the issue with global search not being able
to request permissions it would need of providers it doesn't know
about at build time.
2009-07-08 18:08:13 -07:00
Mitsuru Oshima
1ecf5d2881 Re-implementation of large screen support using window manager.
* added background filler surface to fill the outer rim. Using the same layer as dim surface because
   they never co-exists (in the same window)
 * clean up the obsolete code in CompatibiltyMode/ViewRoot for support large screen support.
2009-07-08 15:21:30 -07:00
Mitsuru Oshima
569076c9f6 widgets scaling fix. Use container's compatibility info and display metrics when container and widgets disagree. 2009-07-06 21:13:39 -07:00
Android (Google) Code Review
b71951591d Merge change 6287 into donut
* changes:
  Restore GPS state and ringer/vibrate toggles.
2009-07-06 17:32:09 -07:00
Amith Yamasani
70c874ba20 Restore GPS state and ringer/vibrate toggles.
Inform backup manager when sync flags change. Set ringer/vibrate mode.
2009-07-06 17:18:46 -07:00
Romain Guy
870e09fcd2 Fixes #1963229. Introduces Context#isRestricted().
A restricted Context is a special type of Context that prevents specific features
from being used. For instance, android:onClick, used by View, can be dangerous when
used from within apps widgets. By using a restricted Context to inflate apps widgets,
widgets providers are prevented from using android:onClick.
2009-07-06 16:45:17 -07:00
Dianne Hackborn
d7cd29da91 Add facility to run setup wizard after an update.
The system now keeps a tag of the last version (just an arbitrary string)
that the setup wizard was run for.  If this is different than the current
one in the setup wizard, then setup is launched at boot.

This introduces a new intent action for the part of the setup wizard that
gets run for an ungrade, which the system uses to find its current version
tag for comparing against what was last stored.  It is up to the launched
setup activity update the stored setting to reflect its current value,
once it is happy.
2009-07-01 20:20:47 -07:00
Dianne Hackborn
1dac277f93 Implement issue #1943927 (need notification in status bar when adb is active)
This is a little hacky -- we just assume that if adb is enabled and power
is connected through usb, then it is active.

The icons and text are temporary until final design is provided.
2009-06-30 13:40:51 -07:00
Dianne Hackborn
723738cfae Expand support for different screen sizes.
Applications can now declare that they support small, normal, or
large screens.  Resource selection can also be done based on these
sizes.  By default, pre-Donut apps are false for small and large,
and Donut or later apps are assumed to support all sizes.  In either
case they can use <supports-screens> in their manifest to declare
what they actually support.
2009-06-26 13:37:05 -07:00
Android (Google) Code Review
7941e903c9 Merge change 5091 into donut
* changes:
  * new screen resolution support impl.   * use full window for activities, and shift & clip the content   * refactored the compatibility code, and introdcued Translator class to handle cooridnate translations.   * removed a workaround to handle an activity with configChagne=rotation in old implementation.   * I'll fix background issue on rotation in next CL.
2009-06-24 17:53:57 -07:00
Charles Chen
0477954a67 Adding TTS_QUEUE_PROCESSING_COMPLETED action to the list of Intents 2009-06-24 14:55:53 -07:00
Mitsuru Oshima
64f59342d4 * new screen resolution support impl.
* use full window for activities, and shift & clip the content
  * refactored the compatibility code, and introdcued Translator class to handle cooridnate translations.
  * removed a workaround to handle an activity with configChagne=rotation in old implementation.
  * I'll fix background issue on rotation in next CL.

  * removed unnecessary scaling code in SurfaceView, which I forgot to remove when I changed SurfaceView
    not to scale the content.
2009-06-23 23:11:55 -07:00
Dianne Hackborn
3d74bb4ab2 Add "why?" button to low battery dialog.
This takes the user to the power usage activity.
2009-06-19 11:46:58 -07:00
Suchi Amalapurapu
bc806f65ed Remove deprecated api. Aptly rename freeStorageWithIntent to freeStorage. 2009-06-19 10:25:37 -07:00
Wu-cheng Li
649f99e834 Add Intent.ACTION_SEND_MULTIPLE
Activities can use this intent to send multiple data.
2009-06-19 18:48:37 +08:00
Android (Google) Code Review
63e7155c7d Merge change 4696 into donut
* changes:
  Fix targetSdkVersion, make resize mode a flag, delayed dexopt, easy ApplicationInfo.
2009-06-18 19:33:33 -07:00
Dianne Hackborn
5c1e00b14d Fix targetSdkVersion, make resize mode a flag, delayed dexopt, easy ApplicationInfo.
- Fix a bug where targetSdkVersion could not be set if minSdkVersion.  Stupid, stupid.
  Also make sure to fail if minSdkVersion is for a code name.  Really stupid.

- Change the API for resize compatibility mode to be a bit in the flags field, instead
  of a separate boolean.

- Implement delayed dexopting, to avoid the looong full dexopt during boot.  This is
  only enabled for "eng" builds.  When in this mode, the activity manager will make
  sure that a dexopt has been done before loading an .apk into a process, and will
  try to avoid displaying ANRs if they are due to the dexopt causing some operation
  to take longer than it normally would (though I make no guarantees about this
  totally working).

- Add API to Context to get the ApplicationInfo for its package, for easy access to
  things like targetSdkVersion.
2009-06-18 17:10:57 -07:00
Romain Guy
fdbf6a7eac Fixes #1922373. Resolves a case of keys collision in Resources' cache.
The Resources class keeps a cache of known resources. The keys used by the
cache are stored as int primitives. For any given drawable resource, a key
is built thusly:

TypeValue.assetCookie << 24 | TypedValue.data

In the case of a plain color drawable, assetCookie always equals -1, that
is 0xFF once right-shifted and the data contains the color value. Which
means the key for the following two colors is the same:

0xFF000000
0x00000000

Because of the int storage and the use of the (constant in this case)
asset cookie, the alpha channel of a color is ignored. That means that
if you first load an opaque black color (0xFF000000), subsequent loads
of a totally transparent black color (0x00000000) will give you an
opaque black color.

A workaround is to use a transparent color that is not black,
0x00000001 for instance. Note that this issue would arise with any color
and any opacity level.

The solution to fix this issue is simply to change the cache to use
longs instead of ints to represent the keys. A key thus becomes:

TypedValue.assetCookie << 32 | TypedValue.data

This allows us correct storage of all colors at the cost of a few bytes.
The tradeoff is that we can keep caching ColorDrawable, which is
definitely worth it.
2009-06-18 15:13:40 -07:00
Dianne Hackborn
c14b9ccdf1 Extend Intent/Uri conversion for use by Browser
This introduces a new Uri form of Intent with an "intent:" scheme, and a
corresponding update to the parser to handle these, so that the browser
can use this generic facility for starting activities based on the links
that are clicked and allow for web pages to link to arbitrary intents.

There is also a new "package" field on Intent which allows you to limit
the components it finds to a given package.  This replaces the new method
that was added to PackageManger for doing this when resolving activities,
and implements it for all Intent queries against the package manager.
2009-06-17 21:48:14 -07:00
Android (Google) Code Review
0781df943e Merge change 4129 into donut
* changes:
  Remove circular dependency in PackageManager. api freeStorage uses PendingIntent from android.app Create a new public IntentSender class that can be used by PackageManager instead. This new class uses IIntentSender internally and can only be created by PendingIntent for now. Provide a new getIntentSender api in PendingIntent to create an instance of this class. Move IIntentSender and IIntentReceiver from android.app to android.content Change imports of IIntentSender and IIntentReceiver to reflect the new package name The PackageManager api has been named as freeStorageWithIntent and will be renamed as freeStorage once the older api(which has been deprecated) will be removed shortly.
2009-06-17 11:33:22 -07:00
Suchi Amalapurapu
1ccac75e1f Remove circular dependency in PackageManager. api freeStorage uses PendingIntent from android.app
Create a new public IntentSender class that can be used by PackageManager instead.
This new class uses IIntentSender internally and can only be created by PendingIntent for now.
Provide a new getIntentSender api in PendingIntent to create an instance of this class.
Move IIntentSender and IIntentReceiver from android.app to android.content
Change imports of IIntentSender and IIntentReceiver to reflect the new package name
The PackageManager api has been named as freeStorageWithIntent and will be renamed as freeStorage
once the older api(which has been deprecated) will be removed shortly.
2009-06-17 11:31:26 -07:00
Romain Guy
4969af7d9f Fixes #1107690. Updates javadoc for Intent.java, android:value -> android:name.
Also fixes the <type android:value /> tags, they are now <data android:mimeType />
2009-06-17 10:53:19 -07:00
Android (Google) Code Review
ef29379c28 Merge change 4023 into donut
* changes:
  Fix IntentFilter constructor to properly process the action parameter.
2009-06-15 20:21:30 -07:00
Phil Dubach
56e78d9a04 Fix IntentFilter constructor to properly process the action parameter. 2009-06-11 18:50:40 -07:00
Joe Onorato
23ecae3bbb Fix SharedPrefsBackupHelper so it doesn't hard code the paths to the files.
This took quite a bit of refactoring.
2009-06-11 11:29:57 -07:00
Mitsuru Oshima
e5fb328825 resolution support fix/improvement
* adding compatibility menu
    * backup gravity
    * set expanable=true if the screen size is hvga * density.
    * added "supports any density" mode. I'll add sdk check later.
    * disallow to catch orientation change event if the app is not expandable. This
      was causing layout problem under non-expandable mode. I discussed this with Mike C
      and we agreed to do this approach for now. We'll revisit if this causes problem to
      a lot of applications.
2009-06-10 15:22:17 -07:00
Ken Shirriff
e7eb9662c3 Fix contact creation.
This was broken by my change 2934.
bug=1903820
2009-06-08 12:52:50 -07:00
Suchi Amalapurapu
d299b8194d Add a new attribute to android manifest for defining the GLES version number.
This attribute is parsed by the PackageParser into ConfigurationInfo. The major
and minor version numbers are defined as the higher and lower order bits.
2009-06-05 13:49:09 -07:00